【ORACLE】プロシージャ・ファンクションの一覧を確認するSQL

ここではORACLEデータベースで、プロシージャやファンクションの一覧を取得するSQLを紹介しています。

プロシージャやファンクションのソースを確認する方法は↓で紹介していますので参考にしてください。
>>【ORACLE】プロシージャ・ファンクションのソースを確認するSQL

プロシージャ・ファンクションの一覧を確認するSQL

プロシージャやファンクションの一覧はDBA_PROCEDURESで取得することが出来ます。

DBA_PROCEDURESでは全てのプロシージャやファンクションの一覧を確認することが出来ます。

※現行ユーザーがアクセスできるプロシージャやファンクションのみを参照する場合はALL_PROCEDURESを参照します。

SELECT * FROM DBA_PROCEDURES;

DBA_PROCEDURESの主な列の意味は次の通りです。
・OWNER
 プロシージャの所有者
・OBJECT_NAME
 オブジェクトの名前
・PROCEDURE_NAME
 プロシージャの名前
・OBJECT_ID
 オブジェクトのオブジェクト番号
・SUBPROGRAM_ID
 一意のサブプログラム識別子
・OVERLOAD
 一意の識別子のオーバーロード
・OBJECT_TYPE
 オブジェクトの型名
・AGGREGATE
 プロシージャが集計関数かどうか
・PIPELINED
 プロシージャがパイプラインテーブルファンクションかどうか
・IMPLTYPEOWNER
 実装タイプがある場合は、その所有者
・IMPLTYPENAME
 実装タイプがある場合は、その名前
・PARALLEL
 パラレルで使用可能かどうか
・DETERMINISTIC
 DETERMINISTICであると宣言されているかどうか

プロシージャ・ファンクションの状態を確認する方法

プロシージャやファンクションのオブジェクトとしてのステータスを確認するには、DBA_OBJECTS、またはALL_OBJECTSを参照します。

--プロシージャのステータスを確認するSQL
SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'PROCEDURE';

--ファンクションのステータスを確認するSQL
SELECT * FROM DBA_OBJECTS WHERE OBJECT_TYPE = 'FUNCTION';

DBA_OBJECTSの列の意味などは↓で紹介していますので参考にしてください。
>>【ORACLE】オブジェクトの一覧を取得するSQL

まとめ

プロシージャやファンクションの一覧はDBA_PROCEDURESまたはALL_PROCEDURESで確認できます。

プロシージャやファンクションの作成や削除方法については↓で紹介していますので参考にしてください。
>>【ORACLE】ファンクションを作成・実行・削除するSQL