適用対象:SQL Server
Azure SQL データベース
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
ODBC では、次のことを可能にするカーソル モデルがサポートされます。
複数種類のカーソル
カーソル内でのスクロールと位置指定
複数のコンカレンシー オプション。
配置された更新。
ODBC アプリケーションでは、カーソルを宣言して開いたり、カーソル関連の Transact-SQL ステートメントを使用したりすることはほとんどありません。 ODBC は、SQL ステートメントから返されるすべての結果セットのカーソルを自動的に開きます。 カーソルの特性は、SQL ステートメントが実行される前に、 SQLSetStmtAttr で設定されたステートメント属性によって制御されます。 結果セットの処理に使用する ODBC API 関数では、フェッチ、スクロール、位置指定更新など、すべてのカーソル機能がサポートされます。
これは、Transact-SQL スクリプトと ODBC アプリケーションがカーソルを操作する方法の比較です。
| アクション | Transact-SQL | ODBC |
|---|---|---|
| カーソル動作を定義する | DECLARE CURSOR パラメーターによる指定 | SQLSetStmtAttr を使用してカーソル属性を設定する |
| カーソルを開く | カーソルを開く cursor_nameを宣言する | SQLExecDirect または SQLExecute |
| 行をフェッチする | FETCH | SQLFetch または SQLFetchScroll |
| 位置指定更新を行う | ここで、節のcurrent は UPDATE または DELETE | SQLSetPos |
| カーソルを閉じる | 閉 cursor_name デロス | SQLCloseCursor |
SQL Server に実装されているサーバー カーソルは、ODBC カーソル モデルの機能をサポートします。 SQL Server Native Client ドライバーは、サーバー カーソルを使用して ODBC API のカーソル機能をサポートします。