• 検索結果がありません。

6. AND 7. OR

4.3 SQL コマンドのアルファベット順のリスト コマンドのアルファベット順のリスト コマンドのアルファベット順のリスト コマンドのアルファベット順のリスト

4.3.13 CREATE JAVA

構文構文構文 構文

図4-20に、CREATE JAVAの構文を示します。

図図図

4-20 CREATE JAVAコマンドコマンドコマンドコマンド

BNF表記法表記法表記法表記法

CREATE [OR REPLACE] [AND { RESOLVE | COMPILE } NOFORCE ] JAVA { { SOURCE | RESOURCE } NAMED [schema .] primary_name

| CLASS [SCHEMA schema .]

}

[invoker_rights_clause]

[RESOLVER

"(" "(" match_string [,] { schema_name | - }")"

["(" match_string [,] { schema_name | - }")"]...

")"

SQLコマンドのアルファベット順のリスト

]

{ USING BFILE "(" directory_path , server_file_name ")"

| AS source_text }

; 前提条件 前提条件前提条件 前提条件

ユーザー自身のスキーマ内で、Javaソース、クラスまたはリソースを含んだスキーマ・オブ ジェクトを作成または置換するには、データベースにSYSTEMとして接続するか、

DBA/DDL権限が必要です。

用途 用途用途 用途

Javaソース、クラスまたはリソースを含むスキーマ・オブジェクトを作成します。

表4-18に、CREATE JAVAコマンドの引数をリストします。

注意注意注意

注意: Javaストアド・プロシージャおよびJDBCをはじめとするJava概念の

詳細は、『Oracle Database Lite for Java開発者ガイド』を参照してください。

表表表

4-18 CREATE JAVAコマンドで使用される引数コマンドで使用される引数コマンドで使用される引数コマンドで使用される引数 引数

引数引数

引数 説明説明説明説明

OR REPLACE Javaクラス、ソースまたはリソースを含んだスキーマ・オブジェ

クトがすでに存在する場合、再作成します。この句は、すでに付 与されているオブジェクト権限を変更(削除、再作成または再付 与)せずに、既存のオブジェクトの定義を変更するために使用し ます。

Javaスキーマ・オブジェクトを再定義して、RESOLVEまたは COMPILEを指定すると、Oracle Database Liteは、これらのパラ メータを認識はしますが、無視します。

再定義される関数に対する権限を前もって付与されているユー ザーは、引き続きその関数にアクセスできます。ユーザーに再度 権限を付与する必要はありません。

SQLコマンドのアルファベット順のリスト

SQLコマンド 4-39 RESOLVE | COMPILE Oracle Database Liteは、このパラメータを認識しますが、無視し

ます。Oracleでは、この文が成功したときに作成されるJavaス キーマ・オブジェクトをデータベースで解決するように指定しま す。

クラスに適用されると、別のクラス・スキーマ・オブジェク トに対する参照名の解決が行われます。

ソースに適用されると、ソースのコンパイルが行われます。

制限事項: Javaリソースには、この句を指定できません。

NOFORCE Oracle Database Liteは、このパラメータを認識しますが、無視し

ます。Oracleでは、RESOLVE OR COMPILEを指定して解決また はコンパイルが失敗した場合、NO FORCEはこのCREATEコマン ドの結果をロールバックします。このオプションを指定していな いと、解決またはコンパイルが失敗した場合、Oracleは、何もア クションを実行しません(すなわち、作成されたスキーマ・オブ ジェクトが残ります)。

CLASS Javaクラス・ファイルをロードします。

RESOURCE Javaリソース・ファイルをロードします。

SOURCE Javaソース・ファイルをロードします。AS source_text句を使用す

る必要があります。

NAMED Oracle Database Liteは、このパラメータを認識しますが、無視し

ます。Oracleでは、これは、Javaソースまたはリソースに必須で す。

Javaソースの場合、この句は、ソース・コードが保持される スキーマ・オブジェクトの名前を指定します。CREATE JAVA SOURCEが成功した場合、ソースで定義された各Java クラスを保持するためのスキーマ・オブジェクトも作成され ます。

Javaリソースの場合、この句は、Javaリソースを保持するス キーマ・オブジェクトの名前を指定します。

schemaを指定しない場合:

Oracleによりユーザー自身のスキーマ内にオブジェクトが作成さ

れます。

制限事項:

JavaクラスにNAMEDは指定できません。

primary_nameは、データベース・リンクを含むことはできま

せん。

表表表

4-18 CREATE JAVAコマンドで使用される引数(続き)コマンドで使用される引数(続き)コマンドで使用される引数(続き)コマンドで使用される引数(続き)

引数 引数引数

引数 説明説明説明説明

SQLコマンドのアルファベット順のリスト

使用上の注意 使用上の注意使用上の注意 使用上の注意

Oracle Database Liteは、Javaクラスをデータベースにロードするとき、依存クラスはロー

ドしません。一般に、Javaクラスをデータベースにロードするには、loadjavaユーティリ ティを使用してください。loadjavaユーティリティの詳細は、『Oracle Database Lite for Java開発者ガイド』を参照してください。

SCHEMA schema Oracle Database Liteは、このパラメータを認識しますが、無視し ます。Oracleでは、Javaクラスにのみ適用されます。オプション 指定のこの句は、Javaファイルを含むオブジェクトが常駐するス キーマを指定します。SCHEMAを指定せず、またNAMED(前述)

を指定しないと、Oracleは、ユーザー自身のスキーマ内にオブ ジェクトを作成します。

invoker_rights_clause Oracle Database Liteは、Oracleとの互換性のために invoker_rights_clauseを認識しますが、実行はしません。

RESOLVER Oracle Database Liteは、このパラメータを認識しますが、無視し

ます。Oracleでは、完全修飾Java名のJavaスキーマ・オブジェ クトへのマッピングを指定します。

match_stringは、完全修飾Java名、そのようなJava名に一致 するワイルド・カード、または任意の名前に一致するワイル ド・カードのいずれかです。

schema_nameは、対応するJavaスキーマ・オブジェクトを 検索するためのスキーマを示します。

ダッシュ(-)は、schema_nameの代替として、match_string が有効なJava名に一致したとき、Oracleがスキーマを未解 決のままにできることを示します。解決は成功しますが、ク ラスは、名前をランタイムに使用できません。

このマッピングは、後の解決(暗黙的、または

ALTER...RESOLVE文による明示的解決)で使用するために、作

成されたスキーマ・オブジェクトの定義とともにこのコマンド内 に格納されます。

AS source_text Javaソース・プログラムのテキスト。

USING BFILE クラス・ファイルの形式を識別します。BFILEは、CREATE

JAVA CLASSまたはCREATE JAVA RESOURCEによって、バイ ナリ・ファイルと解釈されます。

表 表表

4-18 CREATE JAVAコマンドで使用される引数(続き)コマンドで使用される引数(続き)コマンドで使用される引数(続き)コマンドで使用される引数(続き)

引数 引数引数

引数 説明説明説明説明

SQLコマンドのアルファベット順のリスト

SQLコマンド 4-41 Javaクラスの例クラスの例クラスの例クラスの例

次の文は、スキーマ・オブジェクトを作成し、指定されたJavaクラスを新しく作成された スキーマ・オブジェクトにロードします。

CREATE JAVA CLASS USING BFILE (bfile_dir, 'Agent.class');

この例は、ディレクトリ・パスbfile_dirを想定しています。これは、既存のJavaクラス Agent.classを含むオペレーティング・システムのディレクトリを指します。この例で は、クラスの名前がJavaクラス・スキーマ・オブジェクトの名前を決定します。

Javaソースの例ソースの例ソースの例ソースの例

次の文は、Javaソース・スキーマ・オブジェクトを作成します。

CREATE OR REPLACE JAVA SOURCE AS /* This is a class Test */

import java.math.*; /* */

public class Test {

public static BigDecimal myfunc(BigDecimal a, BigDecimal b) { return a.add(b); }

public static Strin myfunc2(String a, String b) { return (a+b); }

};

Javaリソースの例リソースの例リソースの例リソースの例

次の文は、バイナリ・ファイルから、APPTEXTという名前のJavaリソース・スキーマ・オ ブジェクトを作成します。

CREATE JAVA RESOURCE NAMED "appText"

USING BFILE ('C:¥TEMP', 'textBundle.dat');

関連項目関連項目関連項目 関連項目 DROP JAVA

注意 注意注意

注意: キーワード「public class」を、最初のpublic class文の前のコメ ントに使用しないでください。

注意 注意注意

注意: Java文を埋め込む場合、SQL*Plus文の文末にセミコロン文字「;」を 使用しないでください。セミコロンを行末に置く必要がある場合、「/* */」を 使用して空白のコメント行を追加する必要があります。通常のコメント記号

「//」は、この状況では機能しません。行末に /* */ を置くと、SQL*Plusは セミコロンをSQL文の終わりと解釈しません。

SQLコマンドのアルファベット順のリスト

ドキュメント内 Oracle Database Lite SQLリファレンス, 10g(10.0.0) (ページ 149-154)