/
create or replace procedure search_proc(p_string varchar2,p_table varchar2,p_col varchar2,search_result OUT sys_refcursor)
is
SQL_QRY VARCHAR2(2000);
BEGIN
SQL_QRY:='SELECT EMPNO,:1 FROM :2';
--DBMS_OUTPUT.PUT_LINE('SQL:'||SQL_QRY);
OPEN SEARCH_RESULT FOR SQL_QRY USING p_col,p_table;
END;
/
VARIABLE REFC REFCURSOR;
EXEC SEARCH_PROC('TEST','EMP','ENAME',:REFC);
PRINT REFC;
/
動的に構築された SQL クエリを含むプロシージャを使用して、empno と従業員名を返そうとしています。クエリはバインド変数を使用して構築されていますが、次のエラーが発生します。プロシージャ ORA-06512 を呼び出す方法に問題がある可能性があります。 1 行目 00903.00000 - 「無効なテーブル名」