スケーラブルデータベースサーバ HiRDB Version 8 UAP開発ガイド
外部Cストアドルーチンを定義する場合は,CREATE PROCEDURE又はCREATE FUNCTIONを使用します。CREATE PROCEDURE又はCREATE FUNCTIONで,C関数と手続き名,又はC関数と関数名との関連付けをします。
- Cストアドプロシジャの場合
CREATE PROCEDUREを使用して,C言語で記述したC関数をCストアドプロシジャとして登録します。
- Cストアドファンクションの場合
CREATE FUNCTIONを使用して,C言語で記述した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権限を持っているユーザだけです。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.