Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Passing a parameter to a Where Clause in PL/SQL !

Re: Passing a parameter to a Where Clause in PL/SQL !

From: Jim Kennedy <kennedy-family_at_attbi.com>
Date: Sat, 08 Dec 2001 19:45:42 GMT
Message-ID: <G5uQ7.17484$L51.38783@rwcrnsc54>


Don't use dynamic sql at runtime if you don't have to it limits the scalability of the database.
Jim
"Marc Blum" <marc_at_marcblum.de> wrote in message news:3c12692a.93204_at_news.online.de...
> With your solution you're in trouble with rows where d_column actually
> is NULL, because
>
> WHERE NULL = NULL evaluates to false!
>
> better use native dynamic SQL to construct your SQL-Statement at
> runtime.
>
>
> On Sat, 08 Dec 2001 18:20:53 GMT, "Kavous Niamir" <KNiamir_at_home.com>
> wrote:
>
> >You will have to excuse me if this sounds a bit elementary, but I'm new
to
> >this stuff and have to find out ASAP. I have a VB application that passes
> >several parameters to a PL/SQL package. These are used in a WHERE clauses
of
> >a SQL query. For example :
> >
> >Select a_column
> >from a_table
> >where b_column = ai_str1
> >and c.column = ai_str2
> >and d.column = ai_str3 -- the line I'm having problem with
> >
> >Now my problem is that a user can either send a string for ai_str3 or a
null
> >value. How can I structure the query such that if the user sends a null
> >value, the third condition would be simply ignored.. I have been thinking
> >along the lines of having :
> >
> >d_column = nvl(ai_str3, d_column)
> >
> >Would that work or what do you think I should do?
> >
> >Regards, Kavous
> >
> >
> >
> >
>
> regards
> Marc Blum
> mailto:marc_at_marcblum.de
> http://www.marcblum.de
Received on Sat Dec 08 2001 - 13:45:42 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US