天天看點

Oracle EBS通過内置函數擷取包名(package name)、存儲過程名(procedure name)、函數名(Function name)

1、 owa_util.who_called_me f方法

--寫在被調用方裡
owa_util.who_called_me(owner_name, 
                       caller_name,
                       line_number, 
                       caller_type);
           

owner_name:程式所有者

caller_name:

(1)調用方是獨立存儲過程(存儲函數):結果是調用方存儲過程名(存儲函數名)

(2)調用方存儲過程(存儲函數)在包裡:結果是調用方包名

line_number:第幾行

caller_type:類型PROCEDURE,FUNCTION,PACKAGE BODY

2、utl_call_stack.subprogram()()

--寫在被調用方裡面
utl_call_stack.subprogram(2)(1) --傳回調用方包名
utl_call_stack.subprogram(2)(2) --傳回調用方存儲過程名
           

3、$$PLSQL_UNIT

擷取本我
寫在獨立存儲過程(存儲函數)裡,擷取到此存儲過程(存儲函數)名
存儲過程(存儲函數)在包裡,擷取到此包的包名