FirefoxでiSQLPlusを使用して、次のコードを使用してプロシージャを作成しました。プロシージャは正常にコンパイルされます。
create or replace procedure get_staff (
product_no in varchar2,
o_cursor out sys_refcursor)
is
begin
open o_cursor for
'select sr.name, sr.bonus from sales_staff sr inner join product p on p.sales_staff_id = sr.staff_id where product_no = ' || product_no ;
end;
次のコードを使用してこのプロシージャを呼び出そうとしています
var rc refcursor
exec get_staff('A56',:rc)
print rc
次のエラーが発生します。
ERROR at line 1:
ORA-00904: "A56": invalid identifier
ORA-06512: at "AA2850.GET_STAFF", line 6
ORA-06512: at line 1
ERROR:
ORA-24338: statement handle not executed
SP2-0625: Error printing variable "rc"