バージョン 4.2.5
 —  ステートメント  —

READ RESULT SET - SQL

一般セットの構文:

READ [(limit)] RESULT SET result-setINTO

VIEW view-name

FROM ddm-name
parameter
   [GIVING [:] sql-code]
END-RESULT

拡張セットの構文:

READ [(limit)] RESULT SET result-setINTO

VIEW view-name

FROM ddm-name
parameter
[WITH INSENSITIVE SCROLL [:] scroll-hv]
   [GIVING [:] sql-code]
[WITH ROWSET POSITIONING FOR

[:] row_hv

ROWS]
integer
END-RESULT

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連機能グループ:「データベースへのアクセスと更新

データベース管理システムインターフェイス』ドキュメントの「Natural for DB2」の「NDB - READ RESULT SET」も参照してください。


機能

SQL ステートメント READ RESULT SET は、CALLDBPROC ステートメントと組み合わせてのみ使用できます。 前の CALLDBPROC ステートメントで呼び出されたストアドプロシージャによって作成された結果セットを読み込むために使用します。

Top of page

制限事項

このステートメントは、Natural for SQL で使用することはできません。

Top of page

構文説明

limit

読み込む行の数を制限できます。 数値定数(0~4294967295)または N、P または I フォーマットの変数として制限を指定できます。

result-set

結果セットとして、先行する CALLDBPROC ステートメントで代入された結果セットロケータ変数を指定します。 結果セットには、フォーマット/長さ I4 の変数を指定する必要があります。

注意:
CALLDBPROC ステートメントと READ RESULT SET ステートメント間の同期地点の処理が行われる場合、結果セットには READ RESULT SET ステートメントでアクセスできなくなります。

FROM ddm-name

ddm-name として、ストアドプロシージャを実行するデータベースの "アドレス指定" に使用する DDM の名前を指定します。 詳細については、「ddm-name」を参照してください。

WITH INSENSITIVE SCROLL [:] scroll_hv

この節は SQL 拡張セットに含まれます。

この節を使用すると、アプリケーションはスクロール可能な固定カーソルを使用して、以前に呼び出したストアドプロシージャで作成された結果セットにアクセスします。 この節を使用するためには、ストアドプロシージャによりスクロール可能なカーソル付きで結果セットが作成されている必要があります。 scroll_hv は、スクロール方向を含む英数字の Natural 変数である必要があります。 scroll_hv は、READ RESULT SET 処理ループが実行されるたびに評価されます。

GIVING sqlcode オプションも指定した場合、RDBMS から sqlcode +100(行は見つかりません)が返されたときでも、処理ループは開いています。

アプリケーションが ESCAPE ステートメントを発行した場合、または端末 I/O なしで 5 回連続して sqlcode +100(行は見つかりません)になった場合に、処理は終了します。

GIVING sqlcode オプションを指定しない場合は、処理ループは閉じられ、0(成功)以外の SQL コードがあれば RDBMS から返されます。

GIVING sqlcode

このオプションは、結果セットの処理に使用した SQL "フェッチ" 操作の SQL コードを取得するために使用できます。

このオプションを指定し、SQL 操作の SQL コードが 0 でない場合、Natural エラーメッセージは発行されません。 この場合、SQL コード値に対して取られる動作は、呼び出し側の Natural オブジェクト内でコード化されている必要があります。

sqlcode フィールドには、フォーマット/長さ I4 の変数を指定する必要があります。

GIVING sqlcode オプションを指定せず、SQL コードが 0 でない場合は、Natural エラーメッセージが発行されます

WITH ROWSET POSITIONING FOR ... ROWS
WITH ROWSET POSITIONING FOR ... ROWS 節:

この節は SQL 拡張セットに含まれます。

この節を使用すると、アプリケーションはスクロール可能な固定カーソルを使用して、以前に呼び出したストアドプロシージャで作成された結果セットにアクセスします。 この節を使用するためには、ストアドプロシージャによりスクロール可能なカーソル付きで結果セットが作成されている必要があります。 scroll_hv は、スクロール方向を含む英数字の Natural 変数である必要があります。 scroll_hv は、READ RESULT SET 処理ループが実行されるたびに評価されます。

GIVING sqlcode オプションも指定した場合、RDBMS から sqlcode +100(行は見つかりません)が返されたときでも、処理ループは開いています。

アプリケーションが ESCAPE ステートメントを発行した場合、または端末 I/O なしで 5 回連続して sqlcode +100(行は見つかりません)になった場合に、処理は終了します。

GIVING sqlcode オプションを指定しない場合は、処理ループは閉じられ、0(成功)以外の SQL コードがあれば RDBMS から返されます。

END-RESULT

READ RESULT SET ステートメントを終了するには、Natural 予約キーワード END-RESULT を使用する必要があります。

Top of page

CALLDBPROC ステートメントのを参照してください。

また、該当する Natural データベースインターフェイスのドキュメントを参照してください。

Top of page