CREATE MLE ENV
目的
MLE環境は、それ自体で管理可能であり、複数の実行コンテキストで再利用できる最上級のスキーマ・オブジェクトです。
MLEは、MLE言語コードを実行するために実行コンテキストを使用します。MLE環境では、そのような実行コンテキストのプロパティを構成できます。MLE言語のランタイムをカスタマイズするための言語オプションを設定できます。また、特定のモジュールを実行コンテキストにインポートできるようにして、依存関係を管理できます。
CREATE MLE ENV
を使用して、次の3つのいずれかの方法でデータベースに新しいMLE環境を作成します。
-
新規の空の環境として。
-
インポートのリストと言語オプション文字列を含む環境として。
-
既存の環境のクローニングによって。環境をクローニングすると、それ以降の元の環境への変更の影響を受けない独立したコピーが作成されます。
MLE環境では、表およびプロシージャと同じ名前空間を使用します。
前提条件
ユーザーには、自分のスキーマに環境を作成するためのCREATE MLE
権限が必要です。また、別のスキーマに環境を作成する場合は、CREATE ANY MLE
権限が必要です。環境を作成するユーザーは、クローニングする環境を所有しているか、その環境に対するEXECUTE
権限を持っている必要があります。
セマンティクス
OR REPLACE
OR REPLACE
を指定すると、既存の環境を再作成できます。この句を使用すると、以前に付与したオブジェクト権限を削除、再作成、再付与することなく、既存の環境の定義を変更できます。
IF NOT EXISTS
IF NOT EXISTS
を指定すると、次の効果が得られます。
-
MLE環境が存在していない場合は、文の最後に新しいMLE環境が作成されます。
-
MLE環境が存在している場合、これは文の最後の時点にあるMLE環境になります。古いものが検出されるため、新しいものは作成されません。
単一の文には、一度に1つのOR REPLACE
またはIF NOT EXISTS
を指定できます。同じ文でOR REPLACE
とIF NOT EXISTS
の両方を使用すると、ORA-11541: REPLACE and IF NOT EXISTS cannot coexist in the same DDL statement
というエラーが発生します。
例
次の例では、空のMLE環境myenv
を作成します。
CREATE MLE ENV scott."myenv";
次の例では、既存のMLE環境をクローニングします。
CREATE MLE ENV scott."myenv" CLONE "other_env";