ここではOracleのファンクションおよびプロシージャの情報を確認するSQL文について紹介します。

ファンクションおよびプロシージャの一覧を取得する

ユーザーがアクセスできるファンクションおよびプロシージャを取得する

現行のユーザーがアクセスできるファンクションおよびプロシージャを取得するには、「ALL_PROCEDURES」を参照します。

SELECT * FROM ALL_PROCEDURES ORDER BY OWNER, OBJECT_NAME;

ALL_PROCEDURESで取得できる主な情報は以下の通りです。

列名説明
OWNERプロシージャの所有者
OBJECT_NAMEパッケージに含まれる場合はパッケージ名
パッケージに含まれない場合はプロシージャ名またはファンクション名
PROCEDURE_NAMEパッケージに含まれる場合はプロシージャ名またはファンクション名
パッケージに含まれない場合はNULL
OBJECT_TYPEオブジェクトの型名
FUNCTION:ファンクション
PROCUDEURE:プロシージャ


データベース内のファンクションおよびプロシージャを取得する

データベース内のファンクションおよびプロシージャを取得するには、「DBA_PROCEDURES」を参照します。

SELECT * FROM DBA_PROCEDURES ORDER BY OWNER, OBJECT_NAME;

DBA_PROCEDURESで取得できる情報は、ALL_PROCEDURESと同じです。


ユーザーが所有するファンクションおよびプロシージャを取得する

現行のユーザーが所有するファンクションおよびプロシージャを取得するには、「USER_PROCEDURES」を参照します。

SELECT * FROM USER_PROCEDURES ORDER BY OBJECT_NAME;

USER_PROCEDURESで取得できる情報はOWNER列を除き、ALL_PROCEDURESと同じです。


以上、Oracleのファンクションおよびプロシージャの情報を確認するSQL文について解説しました。