#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

pdf-btn 下载文档
copy-btn 复制链接