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. phpMyAdmin-接続できません-無効な設定-ルートパスワードを追加してから-ロックアウト

    2. SQLでゼロ除算を処理する方法

    3. AmazonRDSOracleインスタンスに接続するときに読み取り呼び出しエラーからマイナス1にアプローチする方法

    4. SQL ServerでのASIN()の例