構文構文 構文構文 図 図 図
図4-18 CREATE JAVAコマンドコマンドコマンドコマンド
用途 用途 用途 用途
Javaソース、クラスまたはリソースを含むスキーマ・オブジェクトを作成します。
前提条件 前提条件 前提条件 前提条件
ユーザー自身のスキーマ内で、Javaソース、クラスまたはリソースを含んだスキーマ・オブ ジェクトを作成または置換するには、データベースにSYSTEMとして接続するか、
DBA/DDL権限が必要です。
注意 注意 注意
注意: Javaストアド・プロシージャおよびJDBCをはじめとするJava概 念の詳細は、『Oracle9i Lite Java 開発者ガイド』を参照してください。
ALTER USER
SQLコマンド 4-31 表
表 表
表4-14 CREATE JAVAコマンドで使用される引数コマンドで使用される引数コマンドで使用される引数コマンドで使用される引数 引数
引数 引数
引数 説明説明説明説明
OR REPLACE Javaクラス、ソースまたはリソースを含んだスキーマ・オブジェク
トがすでに存在する場合、再作成します。この句は、すでに付与さ れているオブジェクト権限を変更(削除、再作成または再付与)せ ずに、既存のオブジェクトの定義を変更するために使用します。
Javaスキーマ・オブジェクトを再定義して、RESOLVEまたは COMPILEを指定すると、Oracle Liteは、これらのパラメータを認 識はしますが、無視します。
再定義される関数に対する権限を前もって付与されているユーザー は、引き続きその関数にアクセスできます。ユーザーに再度権限を 付与する必要はありません。
RESOLVE | COMPILE Oracle Liteは、このパラメータを認識しますが、無視します。
Oracleでは、この文が成功したときに作成されるJavaスキーマ・
オブジェクトをデータベースで解決するように指定します。
■ クラスに適用されると、別のクラス・スキーマ・オブジェクト に対する参照名の解決が行われます。
■ ソースに適用されると、ソースのコンパイルが行われます。
制限事項: Javaリソースにこの句は指定できません。
NOFORCE Oracle Liteは、このパラメータを認識しますが、無視します。
Oracleでは、RESOLVE OR COMPILEを指定して解決またはコン パイルが失敗した場合、NO FORCEはこのCREATEコマンドの結 果をロールバックします。このオプションを指定していないと、解 決またはコンパイルが失敗した場合、Oracleは、何もアクションを 実行しません(すなわち、作成されたスキーマ・オブジェクトが残 ります)。
CLASS Javaクラス・ファイルをロードします。
RESOURCE Javaリソース・ファイルをロードします。
SOURCE Javaソース・ファイルをロードします。AS source_text句を使用す
る必要があります。
ALTER USER
NAMED Oracle Liteは、このパラメータを認識しますが、無視します。
Oracleでは、これは、Javaソースまたはリソースに必須です。
■ Javaソースの場合、この句は、ソース・コードが保持されるス キーマ・オブジェクトの名前を指定します。CREATE JAVA SOURCE文が成功した場合、ソースで定義された各Javaクラ スを保持するためのスキーマ・オブジェクトも作成されます。
■ Javaリソースの場合、この句は、Javaリソースを保持するス キーマ・オブジェクトの名前を指定します。
schemaを指定しないと、Oracleはユーザー自身のスキーマ内にオ ブジェクトを作成します。
制限事項:
■ JavaクラスにNAMEDは指定できません。
■ primary_nameは、データベース・リンクを含むことはできませ
ん。
SCHEMA schema Oracle Liteは、このパラメータを認識しますが、無視します。
Oracleでは、Javaクラスにのみ適用されます。オプション指定のこ の句は、Javaファイルを含むオブジェクトが常駐するスキーマを指 定します。SCHEMAを指定せず、またNAMED(前述)を指定し
ないと、Oracleは、ユーザー自身のスキーマ内にオブジェクトを作
成します。
invoker_rights_clause Oracleとの互換性のために、Oracle Liteは、invoker_rights_clauseを 認識しますが、施行はしません。
RESOLVER Oracle Liteは、このパラメータを認識しますが、無視します。
Oracleでは、完全修飾Java名のJavaスキーマ・オブジェクトへの マッピングを指定します。
■ match_stringは、完全修飾Java名、そのようなJava名に一致す るワイルド・カード、または任意の名前に一致するワイルド・
カードのいずれかです。
■ schema_nameは、対応するJavaスキーマ・オブジェクトを検索
するためのスキーマを示します。
■ ダッシュ(-)は、schema_nameの代替として、match_stringが 有効なJava名に一致したとき、Oracleがスキーマを未解決の ままにできることを示します。解決は成功しますが、クラス は、名前をランタイムに使用できません。
このマッピングは、後の解決(暗黙的、またはALTER...RESOLVE 文による明示的解決)で使用するために、作成されたスキーマ・オ ブジェクトの定義とともにこのコマンド内に格納されます。
引数 引数 引数
引数 説明説明説明説明
ALTER USER
SQLコマンド 4-33 使用上の注意
使用上の注意 使用上の注意 使用上の注意
Oracle Liteは、Javaクラスをデータベースにロードするとき、依存クラスはロードしませ
ん。一般に、Javaクラスをデータベースにロードするには、loadjavaユーティリティを使 用してください。loadjavaユーティリティの詳細は、『Oracle9i Lite Java 開発者ガイド』
を参照してください。
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); }
};
AS source_text Javaソース・プログラムのテキスト。
USING BFILE クラス・ファイルの形式を識別します。BFILEは、CREATE JAVA CLASSまたはCREATE JAVA RESOURCEによって、バイナリ・
ファイルと解釈されます。
注意 注意 注意
注意: キーワード「public class」を、最初のpublic class文の前のコメン トに使用しないでください。
引数引数
引数引数 説明説明説明説明
ALTER USER
Javaリソースの例リソースの例リソースの例リソースの例
次の文は、バイナリ・ファイルから、APPTEXTという名前のJavaリソース・スキーマ・オ ブジェクトを作成します。
CREATE JAVA RESOURCE NAMED "appText"
USING BFILE ('C:¥TEMP', 'textBundle.dat');
関連項目 関連項目 関連項目 関連項目 DROP JAVA