通过who_called_me可以获取上级存储过程的名字,但是有什么办法可以获取参数名和值么?
比如下面的程序
procedure a(x in varchar2,y in integer)
begin
dbms_output.putline(b);
end;
function b as varchar2
o varchar2(30);
n varchar2(30);
l number;
t varchar2(30);
begin
OWA_UTIL.who_called_me(o, n, l, t);
return '调用的过程是:'||n||';参数为:'||xxxx;
end;
调用 a('iii',32);
希望得到的输出结果是
调用的过程是a;参数为:x-iii,y-32
过程名字a可以获得,参数怎么获得呢?
------解决方案--------------------
你给函数B定义2个参数,然后过程A调用B的时候,把A的两个参数放进B的参数里。随便写个例子:
通过who_called_me可以获取上级存储过程的名字,但是有什么办法可以获取参数名和值么?
比如下面的程序
procedure a(x in varchar2,y in integer)
begin
dbms_output.putline(b(x,y));
end;
function b(x in varchar2,y in integer) as varchar2
o varchar2(30);
n varchar2(30);
l number;
t varchar2(30);
begin
OWA_UTIL.who_called_me(o, n, l, t);
return '调用的过程是:'
------解决方案--------------------
n
------解决方案--------------------
';参数为:'
------解决方案--------------------
x
------解决方案--------------------
‘,'
------解决方案--------------------
y;
end;
------解决方案--------------------
OWA_UTIL.who_called_me 受教了,找这个需求找好久了!