ストアドプロシージャのソースを取得する(ALL_SOURCE / DBA_SOURCE / USER_SOURCE)
文書番号:20274
Oracle ストアドプロシージャのソースを取得するSQL。
・ユーザーが持つストアドプロシージャのソースを取得する
SELECT TEXT
FROM USER_SOURCE
WHERE NAME = 'ストアドプロシージャ名'
ORDER BY LINE;
・他のユーザーのストアドプロシージャのソースを取得する
SELECT TEXT
FROM DBA_OBJECTS
WHERE OWNER = 'ユーザー名'
AND NAME = 'ストアドプロシージャ名'
ORDER BY LINE;
【例】ソースをきれいにテキストファイルへ出力する
「SQL*Plus で実行した結果をテキストファイルに出力する」のようにして実行結果をテキストファイルに出力します。
>sqlplus -s ユーザー名/パスワード@接続文字列
set echo off
set trimspool on
set pagesize 0
set feedback off
spool c:\temp\source.txt
SELECT TEXT
FROM USER_SOURCE
WHERE NAME = 'ストアドプロシージャ名'
ORDER BY LINE;
spool off
ストアドプロシージャの引数を確認したいだけであれば「DESC」コマンドで確認できます。
SQL> DESC SAMPLE1
PROCEDURE SAMPLE1
引数名 タイプ In/Out Default?
------------------------------ ----------------------- ------ --------
I_CODE VARCHAR2 IN
I_NAME VARCHAR2 IN