Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


10.2.3 外部Cストアドルーチンの定義

外部Cストアドルーチンを定義する場合は,CREATE PROCEDURE又はCREATE FUNCTIONを使用します。CREATE PROCEDURE又はCREATE FUNCTIONで,C関数と手続き名,又はC関数と関数名との関連づけをします。

外部Cストアドルーチンの定義例を次の図に示します。

図10‒7 外部Cストアドルーチンの定義例

[図データ]

パブリックルーチンの定義

他ユーザが定義した外部Cストアドルーチンを使用する場合は,UAP中からストアドルーチンを呼び出すときに,所有者の認可識別子とルーチン識別子を指定する必要があります。

しかし,CREATE PUBLIC PROCEDURE又はCREATE PUBLIC FUNCTIONを実行してパブリックルーチンとして定義すると,他ユーザが定義した外部Cストアドルーチンを使用する場合でも,UAP中からストアドルーチンを呼び出すときに,所有者の認可識別子を指定する必要がなくなります(ルーチン識別子だけ指定します)。

外部Cストアドルーチンの再定義

Cプログラムの修正などによって,一度定義した外部Cストアドルーチンを再度定義する場合は,ALTER PROCEDURE又はALTER ROUTINEを使用します。

外部Cストアドルーチンの削除

外部Cストアドルーチンを削除する場合は,DROP PROCEDURE又はDROP FUNCTIONを使用します。

また,パブリックルーチンを削除する場合は,DROP PUBLIC PROCEDURE又はDROP PUBLIC FUNCTIONを使用します。なお,パブリックルーチンを削除できるのは,パブリックルーチンを定義したユーザ,又はDBA権限を持っているユーザだけです。