ESQL の関数

関数とは、指定されたいくつかの入力値に対して 1 つの値を算出する ESQL 構成です。

関数には、普通は入力パラメーターがあり、また出力パラメーターも使用できますが普通はありません。関数は、ステートメントで記述されたアルゴリズムによって計算された値を戻します。このステートメントは、普通は BEGIN... END などの複合ステートメントです。なぜなら、複合ステートメントを使用すると、無制限の数のネストされたステートメントを使用してアルゴリズムをインプリメントできるからです。

ESQL では、式で自由に使用できる事前定義つまり "組み込み" 関数が多く備えられています。CREATE FUNCTION ステートメントを使用して独自の関数を定義することもできます。

関数を定義する場合、固有の名前を指定する必要があります。名前には、大/小文字の区別がありません (つまり、大/小文字の任意の組み合わせで名前を使用しても、宣言と一致します)。これは、スキーマ、定数、変数、およびラベルに対して宣言する名前とは対照的です。それらの場合には、大/小文字の区別を付けて扱われ、宣言したのと同じに正確に指定する必要があります。

次の ESQL プログラムの断片をご覧ください。

SET Diameter = SQRT(Area / 3.142) * 2;

この例では、関数 SQRT (平方根) に、続く大括弧の中に示されている値 (それ自体が除算という 1 つの式の結果) が与えられており、その結果がさらに式 (乗算) の中で使用されます。その戻り値は、変数 Diameter に割り当てられます。すべての組み込み ESQL 関数については、ESQL 関数の呼び出しを参照してください。

さらに、ESQL 式は他のブローカー・スキーマ内の関数 (つまり、同じまたは異なる従属プロジェクト内の ESQL ファイル中の CREATE FUNCTION ステートメントで定義された関数) を参照できます。呼び出される関数の名前を解決するには、以下のいずれかを行わなければなりません。

EVAL ステートメントまたは EVAL 関数で、関数を定義することはできないことに注意してください。

関連概念
メッセージ・フローの概要
メッセージ・マッピングの概要
関連タスク
メッセージ・フローの作成
ESQL の開発
関連資料
組み込みノード
ESQL 参照
ESQL 関数の呼び出し
CREATE FUNCTION ステートメント
CREATE MODULE ステートメント
CREATE PROCEDURE ステートメント
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ak01080_