カーソルの使用
ODBC では、次のことを可能にするカーソル モデルがサポートされます。
- 複数種類のカーソル
- カーソル内でのスクロールと位置指定
- 複数の同時実行オプション
- 位置指定更新
ODBC アプリケーションでは、カーソルを宣言して開いたり、カーソル関連の Transact-SQL ステートメントを使用することはほとんどありません。ODBC では、SQL ステートメントから返されたすべての結果セットに対して自動的にカーソルを開きます。SQL ステートメントの実行前に SQLSetStmtAttr を使用して設定するステートメント属性によって、カーソルの特性が制御されます。結果セットの処理に使用する ODBC API 関数では、フェッチ、スクロール、位置指定更新など、すべてのカーソル機能がサポートされます。
Transact-SQL スクリプトと ODBC アプリケーションのカーソル操作の比較を次に示します。
操作 | Transact-SQL | ODBC |
---|---|---|
カーソル動作を定義する |
DECLARE CURSOR パラメータによる指定 |
SQLSetStmtAttr を使用したカーソル属性の設定 |
カーソルを開く |
DECLARE CURSOR OPEN cursor_name |
SQLExecDirect または SQLExecute |
行をフェッチする |
FETCH |
SQLFetch または SQLFetchScroll |
位置指定更新を行う |
UPDATE または DELETE の WHERE CURRENT OF 句 |
SQLSetPos |
カーソルを閉じる |
CLOSE cursor_name DEALLOCATE |
Microsoft SQL Server に実装されているサーバー カーソルでは、ODBC カーソル モデルの機能がサポートされます。SQL Server Native Client ドライバでは、サーバー カーソルを使用して ODBC API のカーソル機能がサポートされます。
詳細については、以下を参照してください。
参照
概念
その他の技術情報
CLOSE (Transact-SQL)
カーソル (データベース エンジン)
DEALLOCATE (Transact-SQL)
DECLARE CURSOR (Transact-SQL)
FETCH (Transact-SQL)
OPEN (Transact-SQL)