Re: Conditional Union ?

From: General Fear <richmarin_at_earthlink.net>
Date: Fri, 20 Jun 2008 03:54:10 -0700 (PDT)
Message-ID: <e3c9d09a-14fc-4aba-8eb3-fe4eec573848@p25g2000hsf.googlegroups.com>


On Jun 20, 1:58 am, Carlos <miotromailcar..._at_netscape.net> wrote:
> 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.

Thanks. This is a good lead.

The problem is the user will be given two choices. If they click one way. It is a simple select in Oracle, however, if they pick another option on the Visual Basic GUI, that means several unions.

I wanted to avoid maintaining several cursors that are basically the same.

Thanks! Received on Fri Jun 20 2008 - 05:54:10 CDT

Original text of this message