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

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

4.2.1 ファンクションルーチンとは

ファンクションルーチンとは、利用者が作成できる関数です。ファンクションルーチンは、プロシジャルーチンと同様にサーバに登録します。ファンクションルーチンの呼出しはSQL文の選択リストや値指定などに指定して実行します。

ファンクションルーチンを利用することで、利用者はSymfoware/RDBが提供する関数以外に自由に関数を作成し、数値関数、データ列値関数、日時値関数と同様にSQL文中で実行することができます。

ファンクションルーチンを使用したSQL文の記述例

スキーマ名およびルーチン名は、それぞれ、“管理SCM”、“高額購入伝票データ整形”であるとします。

SELECT 管理SCM. 高額購入伝票データ整形(番号, 製品名, 金額, 発注数)
       FROM 管理SCM.伝票テーブル
       WHERE 発注数 > 0 AND 金額 >= :H_YEN ;

Symfoware/RDBでは、ファンクションルーチンは外部ルーチンとして提供しています。

外部ルーチンとは、利用者がC言語などで作成したプログラムを動的リンクライブラリとしてサーバに登録し、SQL文から呼び出すものです。外部ルーチンの利点は、文字列型データの整形など、SQLの関数では限界がある複雑な処理を、C言語などを使用することで容易に行うことができる点です。

Symfoware/RDBでは、外部ルーチンを作成する言語として、C言語を使用できます。

ファンクションルーチンの処理を行うプログラムは、Symfoware/RDBプロセス外のファンクションルーチン専用のプロセスで動作し、このプロセスはアプリケーションごとに作成されます。Symfoware/RDBプロセス内のSQL文の処理中に、レコード単位に引数が通知され、ファンクションルーチンの結果値を随時Symfoware/RDBに返却します。


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

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