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 |
| 行をフェッチする | フェッチ | SQLFetch または SQLFetchScroll |
| 配置された更新 | UPDATE または DELETE の WHERE CURRENT OF 句 | SQLSetPos |
| カーソルを閉じる | CLOSE cursor_name DEALLOCATE | SQLCloseCursor |
SQL Server に実装されているサーバー カーソルは、ODBC カーソル モデルの機能をサポートします。 SQL Server Native Client ドライバーは、サーバー カーソルを使用して ODBC API のカーソル機能をサポートします。
このセクションにて
こちらもご覧ください
SQL Server Native Client (ODBC)
CLOSE (Transact-SQL)
カーソル
DEALLOCATE (Transact-SQL)
カーソルを宣言する (Transact-SQL)
FETCH (Transact-SQL)
OPEN (Transact-SQL)