Maj*_*jor 1 sql oracle toad plsql
我正在寻找创建一个有助于调试特定变量的过程,为了重新使用,我想将它存储在它自己的过程中,并在需要时传入特定的变量,如
debugz(var_x);
Run Code Online (Sandbox Code Playgroud)
并且调试过程将执行以下操作 -
PROCEDURE debugz (var_x VARCHAR2(1000))
AS
BEGIN
DBMS_OUTPUT.put_line ('Variable value: '|| var_x || ' | Line number: ' || $$plsql_line ||' | Unit: '|| $$plsql_unit);
END;
Run Code Online (Sandbox Code Playgroud)
问题是,我希望PL/SQL行号和PL/SQL单元基于过程调用的起源,即" debugz(var_x);" 的行/单元.无论如何,debugz输出该行号而不传递其他信息?
查看DBMS_UTILITY.FORMAT_CALL_STACK
您可能需要/想要根据您的具体要求解析输出,但可能是一个好的起点.
Oracle 10g起.
另请注意DBMS_UTILITY.FORMAT_ERROR_BACKTRACE和DBMS_UTILITY.FORMAT_ERROR_STACK以进行错误处理.
| 归档时间: |
|
| 查看次数: |
6462 次 |
| 最近记录: |