この章では、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が含まれます。