Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: PL/SQL Help! Using Variable String as Argument in "where in" clause
The only way - use dbms_sql package (I do not remember Oracle Server
version but in v7.2 it exists).
Compile the following procedure and use it for run your select from PL/SQL block :
procedure do_sql(str in varchar2) as
cur1 integer; ret integer; lep integer;
dbms_sql.close_cursor(cur1);
end if;
raise_application_error(-20000,
'DO_SQL. Can''t' || txt || str || '. Error in ' || lep || ' char.');
END;
Slava
Alan Slay <theslays_at_mindspring.com> wrote in article
<3560ec86.112884517_at_news.mindspring.com>...
> Please email any responses to als_at_akc.org
>
> Thank you in advance for your help
>
> I'm trying to use a variable defined as a string of values in a SQL
> select statement. So far, defining a variable as a string of values
> works when I run the SQL but doesn't select anything when I try to
> execute the same statement as part of a PL/SQL procedure's cursor.
> Any tips?
>
> Example:
> IF some_condition = 1 then
> v_string := '''A'',''B'',''C''';
> ELSIF some_condition = 2 then
> v_string := '''D'',''E'',''F''';
> ELSE v_string := '''G'',''H'',''I''';
> END IF;
>
> Select 'x'
> from my_table
> where my_field in (v_string);
>
Received on Wed May 20 1998 - 12:54:24 CDT