CREATE MLE MODULE
目的
マルチリンガル・エンジン(MLE)を使用すると、開発者は、MLEモジュールを使用してJavaScriptをカプセル化することで、Linux x86-64
のOracle Database 23cでJavaScriptコードの記述、格納および実行ができるようになります。
CREATE MLE MODULE
は、データベースに新しいMLEモジュールを作成する場合に使用します。
関連項目:
前提条件
自分のスキーマ内のMLEモジュールを作成または置換する場合は、CREATE MLE
権限が必要です。また、別のユーザーのスキーマ内のMLEモジュールを作成または置換する場合は、CREATE ANY MLE
権限が必要です。
セマンティクス
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
というエラーが発生します。
schema
schema
は、モジュール名を完全修飾する場合に使用します。schema
を指定しない場合は、現行のスキーマが使用されます。
モジュール名の長さは、128バイト以下にする必要があります。MLEモジュールでは、表およびプロシージャと同じ名前空間を使用します。
LANGUAGE、VERSION
LANGUAGE
は、作成したモジュールのMLE言語を指定する場合に使用します。JavaScriptモジュールを作成する場合は、値JAVASCRIPT
を使用する必要があります。サポートされていないMLE言語が使用されている場合は、ORA-04101
エラーがスローされます。
オプションのVERSION
句では、MLEモジュールのバージョン文字列を指定します。バージョン文字列は単なる情報であり、MLEまたはRDBMSの動作には影響がありません。バージョン文字列は、VARCHAR2(256)
に収まることが必要です。
CLOB、BLOB、BFILE
USING
は、CLOB
、BLOB
またはBFILE
に格納されたコードからMLEモジュールを作成する場合に使用します。
BFILE
句では、副問合せまたはディレクトリ(directory_object_name
とserver_file_name
を使用)を併用することで、使用するMLEモジュールのディレクトリとファイル名を指定できます。このステップの前に、CREATE DIRECTORY
を使用してディレクトリ・オブジェクトを作成しておく必要があります。
CLOB | BLOB | BFILE
句で指定する副問合せは、その結果が指定されたタイプ(CLOB
、BLOB
またはBFILE
)の単一行および列であり、デプロイするMLEモジュールの内容を保持していることが必要です。CLOB
オプションは、MLEモジュールにテキスト・データが含まれている場合にのみ使用できます。BLOB
およびBFILE
に格納されたMLEモジュールのテキスト・データは、UTF-8
にエンコードされています。
AS
AS
は、MLEモジュールの内容をインライン化された文字のシーケンスとしてDDL文で指定する場合に使用します。CLOB
と同様に、AS
句は、MLEモジュールのソースにテキスト・データが含まれている場合にのみ使用できます。文字シーケンスは引用符で囲まないでください。この文字シーケンスは、DDL文の末尾で区切られます。