ページの先頭行へ戻る
Symfoware Server V10.0.0 アプリケーション開発ガイド(共通編)

11.2.3 ファンクションルーチンの定義

ファンクションルーチンをスキーマに登録するには、以下に示すファンクションルーチン定義文を使用します。

SolarisLinuxSolaris/Linuxの場合

CREATE  FUNCTION  SCM1.USERFUNC001  ( IN CHAR(20),  IN INTEGER, … )
                         (1)                (2) 
                                                                 
                RETURNS VARCHAR(60)  LANGUAGE  C   NAME ‘UserFunc001’
                            (3)                              (4)

                  LIBRARY ‘/usr/local/lib/libuserfunc001.so’
                                    (5)

(1) ルーチン名

(2) パラメタ宣言

(3) 戻りデータ型

(4) Cプログラムの関数シンボル名

(5) ファンクションルーチンのライブラリ

WindowsWindows(R)の場合

上記の例のファンクションルーチンのライブラリが、“D:\FORSYMFO\FUNCLIB\USERFUNC001.DLL”のような形式になります。

ファンクションルーチン定義をファイルに作成し、サーバ側でrdbddlexコマンドを実行してファンクションルーチンを登録します。

SolarisLinuxSolaris/Linuxの場合

ファンクションルーチンを登録する例と定義ファイルの例を以下に示します。

rdbddlex  -d  RDBDB    /home/rdb/DDL/userfunc001.dat
                                ↑
                          入力ファイル指定

[定義ファイル(userfunc001.dat)の例]

CREATE FUNCTION SCM1.USERFUNC001(IN CHAR(20),
                                 IN INTEGER,
                                 IN INTEGER )
  RETURNS VARCHAR(60)
  LANGUAGE C
  NAME 'UserFunc001'
  LIBRARY '/usr/local/lib/libuserfunc001.so';

WindowsWindows(R)の場合

上記の例の入力ファイル指定が、“D:\FORSYMFO\DDL\USERFUNC001.DAT”のような形式になります。