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;
In reply to what is wrong with this perl script by chai6125
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |