9.2.3 外部Javaストアドルーチンの定義
外部Javaストアドルーチンを定義する場合は,CREATE PROCEDURE又はCREATE FUNCTIONを使用します。CREATE PROCEDURE又はCREATE FUNCTIONで,Javaメソッドと手続き名,又はJavaメソッドと関数名との関連づけをします。
-
Javaストアドプロシジャの場合
CREATE PROCEDUREを使用して,JavaメソッドをJavaストアドプロシジャとして登録します。
-
Javaストアドファンクションの場合
CREATE FUNCTIONを使用して,JavaメソッドをJavaストアドファンクションとして登録します。
外部Javaストアドルーチンの定義例を次の図に示します。
- パブリックルーチンの定義
-
他ユーザが定義した外部Javaストアドルーチンを使用する場合は,UAP中からストアドルーチンを呼び出すときに,所有者の認可識別子とルーチン識別子を指定する必要があります。
しかし,CREATE PUBLIC PROCEDURE又はCREATE PUBLIC FUNCTIONを実行してパブリックルーチンとして定義すると,他ユーザが定義した外部Javaストアドルーチンを使用する場合でも,UAP中からストアドルーチンを呼び出すときに,所有者の認可識別子を指定する必要がなくなります(ルーチン識別子だけ指定します)。
- 外部Javaストアドルーチンの再定義
-
javaプログラムの修正などによって,一度定義した外部Javaストアドルーチンを再度定義する場合は,ALTER PROCEDURE又はALTER ROUTINEを使用します。
- 外部Javaストアドルーチンの削除
-
外部Javaストアドルーチンを削除する場合は,DROP PROCEDURE又はDROP FUNCTIONを使用します。
また,パブリックルーチンを削除する場合は,DROP PUBLIC PROCEDURE又はDROP PUBLIC FUNCTIONを使用します。なお,パブリックルーチンを削除できるのは,パブリックルーチンを定義したユーザ,又はDBA権限を持っているユーザだけです。