我需要一个通用方法来在调用过程时获取运行时参数(值)的列表。我需要类似于返回正在运行的过程的名称的$$ PLSQL_UNIT。 (plsql Oracle 10g)oracle plsql:在调用过程时检索运行时参数值
E.g.看看这个示例程序: (它只是输出它自己的名字和参数)
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.
我不会满足,因为我不能复制和粘贴在我的所有程序中,因为我必须对每个过程进行硬编码以设置其正确的参数变量。
在此先感谢您的帮助。
http://stackoverflow.com/questions/12160928/get-a-parameters-name/的可能重复? – tbone
是的,我认为这是同一个问题。两者都没有答案:(我认为没有办法获得参数的价值:( – tortugone
我不认为这是同一个问题。你要求_value_参数而不知道它的名字。正如指出的那样在一个现在被删除的答案中,并且在链接的问题中,发现参数的名称很容易,但不是该参数的值。 – Ben