当我调用一个过程时,我需要一个通用的方法来获取运行时参数(值)的列表。我需要类似于 $$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.
我不满意,因为我无法在所有程序中复制和粘贴,因为我必须对每个程序进行硬编码以设置其正确的参数变量。
在此先感谢您的帮助。