Re: Passing String Arguments to SQL*Plus from a Unix Shell
- From: "goran bogdanovic" <goran00@xxxxxxxxx>
- To: uwe@xxxxxxxxxxxx
- Date: Thu, 29 Mar 2007 13:37:06 +0200
...you may use unix sed to modify your script 'on the fly' and execute
within sqlplus...
On 3/29/07, Uwe Küchler <uwe@xxxxxxxxxxxx> wrote:
Hi all,
I've scanned this list and other forums but haven't found a satisfying
answer so far:
I need to pass arguments containing the SQL string delimiter "'" to
sqlplus from a shell script, e.g.:
sqlplus user/pass @my.sql $1
where $1 should be like "'1','2','3'", so that a SQL statement WHERE
clause within the script can be modified like this:
define inlist=&1
...
SELECT something FROM mytable
WHERE something NOT IN ( &inlist );
-->
WHERE mycol NOT IN ( '1','2','3' );
I know how to pass arguments/parameters without the "'", but when I use
"'" it gets erased by the shell. I've tried to escape the "'" but with no
success so far.
It looks so simple but I can't find a solution. *help*
Regards,
--==/ Uwe \==--
--
http://www.freelists.org/webpage/oracle-l
- References:
- Passing String Arguments to SQL*Plus from a Unix Shell
- From: Uwe Küchler
Other related posts:
- » Passing String Arguments to SQL*Plus from a Unix Shell
- » Re: Passing String Arguments to SQL*Plus from a Unix Shell
- » RE: Passing String Arguments to SQL*Plus from a Unix Shell
- » Re: Passing String Arguments to SQL*Plus from a Unix Shell
- » Re: Passing String Arguments to SQL*Plus from a Unix Shell
- » Re: Passing String Arguments to SQL*Plus from a Unix Shell
- » Re: Passing String Arguments to SQL*Plus from a Unix Shell
Hi all, I've scanned this list and other forums but haven't found a satisfying answer so far: I need to pass arguments containing the SQL string delimiter "'" to sqlplus from a shell script, e.g.: sqlplus user/pass @my.sql $1 where $1 should be like "'1','2','3'", so that a SQL statement WHERE clause within the script can be modified like this: define inlist=&1 ... SELECT something FROM mytable WHERE something NOT IN ( &inlist ); --> WHERE mycol NOT IN ( '1','2','3' ); I know how to pass arguments/parameters without the "'", but when I use "'" it gets erased by the shell. I've tried to escape the "'" but with no success so far. It looks so simple but I can't find a solution. *help* Regards, --==/ Uwe \==-- -- http://www.freelists.org/webpage/oracle-l
- Passing String Arguments to SQL*Plus from a Unix Shell
- From: Uwe Küchler