カーソルの使用 (ODBC)

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

SQLCloseCursor

SQL Server に実装されているサーバー カーソルでは、ODBC カーソル モデルの機能がサポートされます。SQL Server Native Client ドライバでは、サーバー カーソルを使用して ODBC API のカーソル機能がサポートされます。