WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

ESQL プロシージャー

ESQL プロシージャーは、戻り値のないサブルーチンです。 これは呼び出し元から入力パラメーターを受け取り、出力パラメーターを戻します。

プロシージャーは関数に非常に似ています。 両者の主な違いは、プロシージャーは戻り値がなく、関数には戻り値があることです。したがって、プロシージャーは式の一部を形成することはできず、CALL ステートメントを使用して起動されます。一般的にプロシージャーには出力パラメーターがあります。

ESQL にプロシージャーをインプリメントするか (内部プロシージャー)、データベース・ストアード・プロシージャーとしてインプリメントできます (外部プロシージャー)。ESQL プロシージャーは、単一の ESQL ステートメントである必要があります。ただし、そのステートメントは BEGIN END などの複合ステートメントであることも可能です。プロシージャーは、EVAL ステートメントまたは EVAL 関数で定義することはできません。

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

ESQL 式には他の (同じまたは異なる従属プロジェクト内の ESQL ファイルで定義された) ブローカー・スキーマ内のプロシージャーに対する参照が含まれることもあります。この手法を使用したい場合、プロシージャーを完全修飾するか、または修飾子を設定する PATH ステートメントを組み込んでください。PATH ステートメントは同じ ESQL ファイル内でコーディングする必要がありますが、MODULE 内でコーディングすることはできません。

外部データベース・プロシージャーは、キーワード EXTERNAL および外部プロシージャー名によって示されます。このプロシージャーは、データベース内とブローカー内とで定義する必要があり、それぞれのパラメーター名は同じである必要はありませんが、EXTERNAL キーワードを使用して指定した名前とデータベース・ストアード・プロシージャーの名前は同じでなければなりません。ESQL プロシージャー名は、そのプロシージャーの中で定義する外部名とは別の名前でもかまいません。

多重定義プロシージャーは、どのデータベースでもサポートされていません。 (多重定義プロシージャーとは、同じデータベース・スキーマ内の別のプロシージャーと同じ名前を持つプロシージャーで、パラメーターの数またはパラメーターのタイプが異なるものです。)プロシージャーが多重定義であることをブローカーが検出すると、例外が生じます。

ストアード・プロシージャーのスキーマ名の動的解決機能がサポートされています。プロシージャーを定義する場合には、ESQL がプロシージャーを呼び出す前に解決するスキーマのワイルドカードを指定する必要があります。これについては、ストアード・プロシージャーの呼び出しで詳しく説明されています。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:47:19


概念トピック概念トピック | バージョン 8.0.0.5 | ak01090_