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: sql/plsql query question

Re: sql/plsql query question

From: Daniel Morgan <damorgan_at_x.washington.edu>
Date: Thu, 06 Nov 2003 11:40:17 -0800
Message-ID: <1068147637.184014@yasure>


roger wrote:

>Please consider the following psuedo procedure:
>
> procedure foo (p_target_value int)
> is
> begin
> select bla from table1 t1
> where
> (p_target_value is null or
> t1.some_column in
> (select t2.some_column from some_other_table t2
> where some_other_column = p_target_value))
> order by whatever;
> end;
>
>Consider that there could be several such parameters,
>each with a similar clause anded to the query.
>
>My question is if this a useful/valid/correct/efficient
>approach to handling cases where there are various optional
>query parameters that may or may not be specified?
>
>i.e. is SQL smart enough to detect that there is no need
>to do the sub select on t2 based on the runtime value of
>[tthe PL/SQL variable?
>
>thanks
>
>

It seems strange to say this but I agree with nobody.

Use native dynamic SQL and be sure to utilize the USING CLAUSE and bind variables
or you will make a horrible mess.

-- 
Daniel Morgan
http://www.outreach.washington.edu/ext/certificates/oad/oad_crs.asp
http://www.outreach.washington.edu/ext/certificates/aoa/aoa_crs.asp
damorgan_at_x.washington.edu
(replace 'x' with a 'u' to reply)
Received on Thu Nov 06 2003 - 13:40:17 CST

Original text of this message

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