chai6125 has asked for the wisdom of the Perl Monks concerning the following question:
my $COUNT_1; my $parameter1 = 'PU_CLERK'; $COUNT_1 = `sqlplus -s hr/password\@dbname\@sql_script.sql $parameter1 +`; $COUNT_2 = `sqlplus -s hr/password\@dbname\@sql_script1.sql $parameter +2`; if ($COUNT_1 == $COUNT_2) { then do something }
I'm basically trying to pass a parameter to my sql script from perl namely $parameter1 which is how we do in a typical unix script. Here is a snippet of my oracle script. '&1' is my parameter.
select count(*) from employees where job_id <> '&1' and salary > 9000 and commission_pct is not null order by first_name desc / exit;
But my oracle instead of returning a number is returning a error string.
But when i don't use the parameter and hardcode everything works fine.
my $COUNT_1; my $parameter1 = 'PU_CLERK'; $COUNT_1 = `sqlplus -s hr/password\@dbname\@sql_script.sql`; $COUNT_2 = `sqlplus -s hr/password\@dbname\@sql_script1.sql`; if ($COUNT_1 == $COUNT_2) { then do something }
So my question is how to pass arguments properly to oracle. Where am i going wrong :( Please ignore the + sign I don't know how to remove thatselect count(*) from employees where job_id <> 'PU_CLERK' and salary > 9000 and commission_pct is not null order by first_name desc / exit;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: what is wrong with this perl script
by toolic (Bishop) on Sep 16, 2014 at 13:38 UTC |