プロシージャを呼び出すときにランタイムパラメータ(値)のリストを取得するには、一般化されたメソッドが必要です。実行中のプロシージャの名前を返す$$PLSQL_UNITに似たものが必要です。(plsql Oracle 10g)
たとえば、このサンプル手順を見てください:(それは単にそれ自身の名前とパラメータを出力します)
CREATE OR REPLACE PROCEDURE MY_PROC(ow in varchar2, tn IN varchar2)
IS
BEGIN
dbms_output.put_line('proc_name: '||$$PLSQL_UNIT||' parameters: '|| ow||' '||tn );
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERRORE: ' ||SQLERRM);
END MY_PROC;
/
プロシージャを実行すると、次の出力が生成されます。
SQL>
1 BEGIN
2 IBAD_OWN.MY_PROC('first_par', 'second_par');
3 END;
4 /
proc_name: MY_PROC parameters: first_par second_par
PL/SQL procedure successfully completed.
正しいパラメータ変数を設定するために各プロシージャをハードコーディングする必要があるため、すべてのプロシージャをコピーして貼り付けることができないため、満足できません。
助けてくれてありがとう。