2011-08-23 8 views
10

プロシージャの構造が何であるかをOracleに確認する方法はありますか?ログに記録しようとしていて、プロシージャを実行していて、実際のプロシージャ構造をログに保存したかったのです。あなたはあなたのパッケージ本体のテキストを与えるパッケージOracleでプロシージャの定義を印刷する方法は?

SELECT text 
    FROM all_source 
WHERE owner = <<owner of procedure>> 
    AND name = <<name of procedure>> 
    AND type = 'PACKAGE BODY' 
ORDER BY line 

の内側にある手順を扱っている場合は

答えて

12

あなたはALL_SOURCEテーブルに

SELECT text 
    FROM all_source 
WHERE owner = <<owner of procedure>> 
    AND name = <<name of procedure>> 
ORDER BY line 

を問い合わせることができます。 TYPE "パッケージ"

5
SELECT TEXT, LINE FROM ALL_SOURCE WHERE 
    NAME = UPPER('$name') -- the table also has an owner field to track the user 
    ORDER BY TYPE, -- type is generally procedure, but there are functions and 
        -- more complex structures as well, such as PACKAGE 
    TO_NUMBER(LINE) 
関連する問題