Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
目次 索引 前ページ次ページ

第4章 ルーチンを利用するアプリケーションの作成> 4.2 ファンクションルーチンを利用する場合

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

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

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) ファンクションルーチンのライブラリ

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

 

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

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

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';

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


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007-2008