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: Marc Blum <marc_at_marcblum.de>
Date: Sat, 08 Dec 2001 19:25:35 GMT
Message-ID: <3c12692a.93204@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:25:35 CST

Original text of this message

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