結果セットを返すストアドプロシージャーを実行する場合には、SQLCallコンポーネントを使用し、「実行する処理」プロパティで「ストアド実行(結果あり)」を指定します。「SQL文」プロパティには次のようにストアドプロシージャーの呼出し方法を記述します。
※ストアドプロシージャーの実装によって呼出し方法は変わります
上記のSQL文の中のRSは結果セットを受け取るためのSQLパラメータで、P1はストアドプロシージャーに値を渡すためのSQLパラメータです。SQLパラメータはSQLCallコンポーネントの「SQLパラメータ」タブで定義します。結果セットを受け取るためのSQLパラメータでは、データ型を「RESULTSET」にする必要があります。
最後に、取得した結果セットを使用するために出力ストリームのフィールド定義を行います。出力ストリームのフィールド名は、取得した結果セットのフィールド名と同じにする必要はありません。結果セットの最初のフィールドの値が出力ストリームの最初のフィールドに設定され、結果セットの2番目のフィールドの値が出力ストリームの2番目のフィールドに設定され、というようにフィールドの順番に従って出力ストリームに値が設定されていきます。
以下にコンポーネントプロパティ例として上記の1つ目の記法でSQL文を実行する場合の内容を示します。(P1パラメータは省略します)
「基本」タブ
プロパティ名 | 値 |
---|---|
実行する処理 | ストアド実行(結果あり) |
SQL文 | ?RS? = call <プロシージャ名> |
「SQLパラメータ」タブ
フィールド名 | 入力/選択値 |
---|---|
パラメータ名 | RS |
入出力 | 出力 |
データ型 | RESULTSET |