#DBMS_UTILITY
DBMS_UTILITY包提供了一组内置的存储过程/函数,提供了各种实用程序。
# FORMAT_CALL_STACK
DBMS_UTILITY.FORMAT_CALL_STACK()
RETURN VARCHAR;
FORMAT_CALL_STACK返回当前过程体调用栈的格式化输出,无参数,'()'可以省略,返回值最大2000个字节。
示例
CREATE OR REPLACE PROCEDURE PROC_CALL AS
BEGIN
DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_CALL_STACK);
END;
/
CALL PROC_CALL;
--result
----- PL/SQL Call Stack ----
object handle line number object name
0x7fffe2e39010 3 procedure REGRESS.PROC_CALL
0x7fffdfb3bd90 1 anonymous block
# FORMAT_ERROR_STACK
DBMS_UTILITY.FORMAT_ERROR_STACK
RETURN VARCHAR;
FORMAT_ERROR_STACK返回当前错误栈的格式化输出,无参数,'()'可以省略,返回值最大2000个字节。
示例
DECLARE
N INT;
BEGIN
N := 10 / 0;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_STACK);
END;
/
--result
YAS-00011 divided by zero