この章では、PLストアドユニットに対するDDL操作、つまり作成、変更、削除について説明します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供しています。
CREATE [OR REPLACE]
CREATE [OR REPLACE]は、PLユニットを作成するために使用されます。
使用可能なSQLステートメントには、CREATE FUNCTION、 CREATE PACKAGE、 CREATE PACKAGE BODY 、CREATE PROCEDURE、CREATE TRIGGER 、 CREATE TYPE および CREATE TYPE BODYが含まれます。
各CREATEステートメントには、オプションのOR REPLACE句が含まれます。OR REPLACEを指定すると、既存のPLユニットに基づいて再作成できます。つまり、削除せずに変更宣言または定義を行い、以前にそのPLユニットに付与されたオブジェクト権限を再取得します。PLユニットを再定義した場合、データベースはそれを再コンパイルします。
注意
上記のCREATEステートメントは、PLブロック内には含めることができません。
ALTER
ALTERは、PLユニットを再コンパイルするために使用され、再作成する必要はありません(その宣言や定義を変更しません)。
使用可能なSQLステートメントには、ALTER FUNCTION、 ALTER PACKAGE、ALTER PROCEDURE、ALTER TRIGGER および ALTER TYPEが含まれます。
次の理由に基づいてALTERステートメントを使用できます:
無効になったストアドユニットを明示的に再コンパイルすることで、暗黙的なランタイム再コンパイル、ランタイムのコンパイルエラー、およびパフォーマンスオーバーヘッドを回避します。
異なるコンパイルパラメータでストアドユニットを再コンパイルします。
トリガーを有効または無効にします。
DROP
DROPは、既存のPLユニットを削除するために使用されます。
使用可能なSQLステートメントには、DROP FUNCTION、 DROP PACKAGE、DROP PROCEDURE、DROP TRIGGER 、 DROP TYPE および DROP TYPE BODYが含まれます。