CREATE MLE MODULE
目的
マルチリンガル・エンジン(MLE)を使用すると、開発者は、MLEモジュールを使用してJavaScriptをカプセル化することで、Linux x86-64のOracle Databaseリリース23でJavaScriptコードの記述、格納および実行ができるようになります。
CREATE MLE MODULEは、データベースに新しい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文の末尾で区切られます。
