この章では、ストアドPL/SQLユニットの作成、変更および削除を行うSQL文の使用方法について説明します。
この章の構文図の読み方については、『Oracle Database 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
文を使用する理由は、次のとおりです。
無効になったストアド・ユニットを明示的に再コンパイルすることによって、暗黙的な実行時再コンパイルの必要をなくし、実行時コンパイル・エラーとパフォーマンスのオーバーヘッドを回避するため。
異なるコンパイル・パラメータを使用してユニットを再コンパイルするため。
コンパイル・パラメータの詳細は、「PL/SQLユニットおよびコンパイル・パラメータ」を参照してください。
トリガーを有効または無効にするため。
ALTER
TYPE
文には、他の用法もあります。詳細は、「ALTER TYPE文」を参照してください。
DROP文
既存のPL/SQLユニットをデータベースから削除するには、次のいずれかのSQL文を使用します。