この章では、ストアドPL/SQLユニットの作成、変更および削除を行うSQL文の使用方法について説明します。
CREATE [ OR REPLACE ]文
次に示すSQL文は、いずれもPL/SQLユニットをスキーマ・レベルで作成してデータベースに格納します。
これらのCREATE
文には、それぞれオプションのOR
REPLACE
句を指定できます。OR
REPLACE
句は、既存のPL/SQLユニットを再作成する場合(つまり、既存のPL/SQLユニットの宣言または定義の削除または再作成およびそれらに事前に付与されているオブジェクト権限の再付与を行わずに、それらの宣言または定義を変更する場合)に指定します。PL/SQLユニットを再定義すると、そのPL/SQLユニットはデータベースによって再コンパイルされます。
注意:
CREATE
OR
REPLACE
文は、既存のPL/SQLユニットを置き換える前に警告を発行しません。
これらのCREATE
文は、いずれもPL/SQLブロックでは使用できません。
ALTER文
既存のPL/SQLユニットを(宣言または定義を変更することなく)再作成せずに再コンパイルする場合は、次のいずれかのSQL文を使用します。
ALTER
文を使用する理由は、次のとおりです。
無効になったストアド・ユニットを明示的に再コンパイルすることによって、暗黙的な実行時再コンパイルの必要をなくし、実行時コンパイル・エラーとパフォーマンスのオーバーヘッドを回避するため。
異なるコンパイル・パラメータを使用してストアド・ユニットを再コンパイルするため。
トリガーを有効または無効にするため。
そのスキーマ内でスキーマ・オブジェクト型がまだエディション可能ではないストアド・ユニットのEDITIONABLE
またはNONEDITIONABLE
プロパティを指定するため。
ALTER
TYPE
文には、他の用法もあります。
DROP文
既存のPL/SQLユニットをデータベースから削除するには、次のいずれかのSQL文を使用します。
関連トピック
この章の構文図の読み方については、『Oracle Database SQL言語リファレンス』を参照してください。
エディション・オブジェクトと非エディション・オブジェクトの詳細は、『Oracle Database開発ガイド』を参照してください。
コンパイル・パラメータの詳細は、「PL/SQLユニットおよびコンパイル・パラメータ」を参照してください。