sql >> Databasteknik >  >> RDS >> Oracle

Oracle PL/SQL:hur man får stackspår, paketnamn och procedurnamn

Du vill förmodligen ha DBMS_UTILITY.FORMAT_ERROR_BACKTRACE funktion

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. Vad är MySQL VARCHAR max storlek?

  2. Fel:TCP-leverantör:Felkod 0x2746. Under SQL-installationen i linux via terminal

  3. Inte alla parametrar användes i SQL-satsen (Python, MySQL)

  4. Rails + Postgres drop-fel:databas nås av andra användare