【经验】【ORACLE】存储过程或者函数怎样获取自己的名称和类型
题记:人有时候就好像这存储过程,只有通过和别人交流才能清楚才能知道自己到底是个什么东西!那怕是最最基本的东西你自己都不一定知道。傻B了吧……
----------------调皮的分割线----------------
在Oracle中,存储过程和函数等对象,可通过调用OWA_UTIL包中的who_called_me过程来获得自身的名称和类型。
以下是Oracle联机文档对该过程的说明,该过程将返回调用者的一些信息。
在网上摘了一个应用的例子:
CREATE OR REPLACE FUNCTION fn_getname
RETURN VARCHAR2
IS
l_owner VARCHAR2 (30);
l_name VARCHAR2 (30);
l_lineno NUMBER;
l_type VARCHAR2 (30);
BEGIN
OWA_UTIL.who_called_me (l_owner, l_name, l_lineno, l_type);
RETURN l_owner || '.' || l_name||':'||to_char(l_lineno)||','||l_type;
END;
/
CREATE OR REPLACE PROCEDURE demo
AS
BEGIN
DBMS_OUTPUT.put_line (fn_getname);
END;
/
call demo();
通过该例可以了解该过程的应用。看起来,好像函数对象只能通过who_called_me获得自己调用者的信息,调用者通过调用函数来获取自己的信息……真纠结。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步