Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle PL/SQL:как да получите трасето на стека, името на пакета и името на процедурата

Вероятно искате DBMS_UTILITY.FORMAT_ERROR_BACKTRACE функция

SQL> ed
Wrote file afiedt.buf

  1  create or replace procedure p1
  2  is
  3  begin
  4    raise_application_error( -20001, 'Error 1', true );
  5* end;
SQL> /

Procedure created.

SQL> create or replace procedure p2
  2  as
  3  begin
  4    null;
  5    p1;
  6  end;
  7  /

Procedure created.

SQL> begin
  2    p2;
  3  exception
  4    when others then
  5      dbms_output.put_line( dbms_utility.format_error_backtrace );
  6  end;
  7  /
ORA-06512: at "SCOTT.P1", line 4
ORA-06512: at "SCOTT.P2", line 5
ORA-06512: at
line 2


PL/SQL procedure successfully completed.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защита на базата данни в Oracle

  2. как да изберете списък с 10 000 уникални идентификатори от двойни в oracle SQL

  3. Защо изпълнението на тази заявка с EXECUTE IMMEDIATE води до неуспех?

  4. Намиране и премахване на не-ASCII знаци от Oracle Varchar2

  5. C#:Еквивалентност на типа данни на Oracle с OracleDbType