SQLBindFileToParam() CLI 関数の最後のパラメーター、IndicatorValue は現在 「出力 (据え置き)」と書かれています。これは 「入力 (据え置き)」となります。
|以下の更新事項が引き数 SQL_DESC_AUTO_UNIQUE_VALUE および SQL_DESC_UPDATABLE の「説明」欄に |追加されます。 |
|「SQLGetInfo によって戻される情報」の下の「使用法」セクションに記載されている情報は、 |次のように訂正されます。 |
|表 113「SQLGetLength の引き数」の脚注は、次のように訂正されます。
|注 : a これには DBCLOB データ用の文字が使用されます。
次のテキストが第 5 章、「DB2 CLI 関数」に追加されました。
仕様: DB2 CLI 7.x
SQLRETURN SQLNextResult (SQLHSTMT StatementHandle1 SQLHSTMT StatementHandle2);
データ・タイプ | 引き数 | 使用 | 記述 |
---|---|---|---|
SQLHSTMT | StatementHandle | 入力 | ステートメント・ハンドル。 |
SQLHSTMT | StatementHandle | 入力 | ステートメント・ハンドル。 |
ストアード・プロシージャーは、終了後にカーソルをオープンしたままにしておくことで、複数の結果セットを返します。最初の結果セットは常に、ストアード・プロシージャーを呼び出したステートメント・ハンドルを使用することによってアクセスされます。複数の結果セットが返される場合、SQLMoreResults() または SQLNextResult() を使用して結果セットを記述およびフェッチすることができます。
SQLMoreResults() は、最初の結果セット用にカーソルをクローズし、次の結果セットを処理するために使用されます。SQLNextResult() は、 StatementHandle1 にあるカーソルをクローズせずに、次の結果セットを StatementHandle2 に移動します。どちらの関数も、フェッチする結果セットがない場合は、SQL_NO_DATA_FOUND を返します。
SQLNextResult() を使用すると、他のステートメント・ハンドルに転送された順序で結果セットを処理することができます。StatementHandle1 にカーソル (オープン結果セット) がなくなるまで、SQLMoreResults() および SQLNextResult() に対する混合呼び出しが可能です。
SQLNextResult() が SQL_SUCCESS を返すとき、次の結果セットは StatementHandle1 との関連はなくなります。代わりに次の結果セットは、 SQLExecDirect() の呼び出しが StatementHandle2 での照会を正常に実行したように、StatementHandle2 と関連付けられます。このためカーソルは、SQLNumResultSets()、SQLDescribeCol()、または SQLColAttribute() を使用して記述することができます。
SQLNextResult() が呼び出された後、StatementHandle2 に関連付けられた結果セットは残りの結果セットのチェーンから除去され、 SQLNextResult() または SQLMoreResults() で使用できません。このことは、'n' 個の結果セットについて SQLNextResult() を最大 'n-1' 回正常に呼び出すことができることを示しています。
SQLFreeStmt() が SQL_CLOSE オプション指定で呼び出されるか、または SQLFreeHandle() が HandleType を SQL_HANDLE_STMT に設定して呼び出されると、このステートメント・ハンドルで保留された結果セットはすべて廃棄されます。
SQLNextResult() は、StatementHandle2 がオープン・カーソルを持っているか、または StatementHandle1 と StatementHandle2 が同じ接続にない場合は、SQL_ERROR を返します。エラーまたは警告が返されない場合、 SQLError() は常に StatementHandle1 で呼び出されているはずです。
SQLSTATE | 記述 | 説明 |
---|---|---|
40003 08S01 | 通信リンク障害。 | アプリケーションとデータ・ソース間の通信リンクに、関数の完了前に障害が起きました。 |
58004 | 予期しないシステム障害。 | 回復不能システム・エラー。 |
HY001 | メモリー割り振り失敗。 | DB2 CLI が、関数の実行または完了をサポートするために必要なメモリーを割り振れません。 |
HY010 | 関数シーケンス・エラー。 |
data-at-execute (SQLParamData() , SQLPutData()) 操作中に関数が呼び出されました。
StatementHandle2 は、関連付けられたオープン・カーソルを持っています。
BEGIN COMPOUND および END COMPOUND SQL 操作中に関数が呼び出されました。
|
HY013 | 予期しないメモリー・ハンドリング・エラー。 | DB2 CLI が、関数の実行または完了をサポートするために必要なメモリーをアクセスできませんでした。 |
HYT00 | タイムアウト満了。 | データ・ソースが結果セットを返す前にタイムアウト期間が満了しました。タイムアウトは、 Windows 3.1 や Macintosh System 7 などの非マルチタスク・システムでのみサポートされます。タイムアウト期間は SQLSetConnectAttr() の SQL_ATTR_QUERY_TIMEOUT 属性を使用して設定することができます。 |
SQLMoreResults() だけがパラメーター化照会に使用できます。
|以下は、「使用法」の「環境属性」セクションの追加の環境属性です。 |
|
|ステートメント属性 SQL_ATTR_QUERY_TIMEOUT に関する既存の情報は、 |以下の情報に置き換えられます。 |