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