ストアド・プロシージャ は、名前でコールできるPL/SQL文の集合である。ストアド・プロシージャはストアド・ファンクションと似ているが、コールした環境に値を戻さない点が異なる。

ストアドプロシージャに関するSQL文

ストアドプロシージャを操作するSQL文を次に示す。

ストアドプロシージャに関するSQL文
SQL文 説明
CREATE PROCEDURE ストアドプロシージャを作成する。
ALTER PROCEDURE ストアドプロシージャを再コンパイルする。
DROP PROCEDURE ストアドプロシージャを削除する。

プロシージャに関するSQL*Plusコマンド

プロシージャに関するSQL*Plusコマンドの一覧を示す。

プロシージャに関するSQL*Plusコマンド
コマンド 説明
DESCRIBE プロシージャの定義を表示する。

ストアドプロシージャに関するシステム権限

ストアドプロシージャを操作するために必要なシステム権限の一覧を次に示す。

ストアドプロシージャに関するシステム権限
システム権限 許可される操作
CREATE PRODECURE 自分のスキーマにプロシージャ、ファンクション及びパッケージを作成する。
CREATE ANY PRODECURE 任意のスキーマにプロシージャ、ファンクション及びパッケージを作成する。
ALTER ANY PRODECURE 任意のスキーマのプロシージャ、ファンクション及びパッケージを変更する。
DROP ANY PRODECURE 任意のスキーマのプロシージャ、ファンクション及びパッケージを削除する。

プロシージャに関するデータディクショナリ

ストアドプロシージャのスキーマ定義などを格納したデータディクショナリビューの一覧を次に示す。

プロシージャに関するデータディクショナリ
データディクショナリビュー 説明
ALL_PROCEDURES 現在のユーザがアクセスできるプロシージャ、ファンクション及びパッケージを示す。
ALL_SOURCE 現在のユーザがアクセスできるストアドオブジェクトのテキストソースを示す。
DBA_PROCEDURES すべてのプロシージャ、ファンクション及びパッケージを示す。
DBA_SOURCE すべてのストアドオブジェクトのテキストソースを示す。
USER_PROCEDURES 現在のユーザが所有するプロシージャ、ファンクション及びパッケージを示す。
USER_SOURCE 現在のユーザが所有するストアドオブジェクトのテキストソースを示す。

プロシージャの実行方法

ストアドプロシージャを呼び出すには、SQL文のCALLを実行する方法と、SQL*PlusコマンドのEXECUTEを実行する方法の2通りがある。

スポンサーリンク