Re: Conditional Union ?

From: Carlos <miotromailcarlos_at_netscape.net>
Date: Thu, 19 Jun 2008 23:58:53 -0700 (PDT)
Message-ID: <63283543-8cc5-4f61-b442-7d956c7d2bc0@f36g2000hsa.googlegroups.com>


On 20 jun, 06:32, General Fear <richma..._at_earthlink.net> wrote:
> I am using 10g.
>
> Below is a crude example of what I am trying to do
>
> Procedure
> ( pi_input as interger
> )
>
> is
>
> Cursor A
> is
> Select 'A' as Letter from Dual;
>
> Cursor B
> is
> Select 'A' as Letter from Dual;
> Union
> Select 'B' as Letter from Dual;
>
> If pi_input = 1 then
> Open A
> Else
> Open B
> End If
>
> Notice that Select 'A' as Letter from Dual is in two cursors. If I
> have to make a change to Cursor A, I also have to do it again in
> cursor B because "Select 'A' as Letter from Dual' is in two cursors.
>
> Is it possible to eliminate repeat code in the above example? What do
> I need to do.

Not so sure about what you're trying to do but:

Select 'A' as Letter from Dual

   Union ALL
Select 'B' as Letter from Dual
 WHERE 1 = :pi_input;

should eliminate redundant code.

HTH Cheers.

Carlos. Received on Fri Jun 20 2008 - 01:58:53 CDT

Original text of this message