カーソル動作

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

ODBC では、カーソルのスクロールの可否と感度を設定することでカーソル動作を指定する、ISO オプションがサポートされます。 これらの動作は、 SQLSetStmtAttr の呼び出しでSQL_ATTR_CURSOR_SCROLLABLEオプションとSQL_ATTR_CURSOR_SENSITIVITY オプションを設定することによって指定されます。 SQL Server Native Client ODBC ドライバーは、次の特性を持つサーバー カーソルを要求することで、これらのオプションを実装します。

カーソル動作の設定 要求されるサーバー カーソルの特性
SQL_SCROLLABLE と SQL_SENSITIVE キーセット ドリブン カーソルとバージョンに基づくオプティミスティック コンカレンシー
SQL_SCROLLABLE と SQL_INSENSITIVE 静的カーソルと読み取り専用コンカレンシー
SQL_SCROLLABLE と SQL_UNSPECIFIED 静的カーソルと読み取り専用コンカレンシー
SQL_NONSCROLLABLE と SQL_SENSITIVE 順方向専用カーソルとバージョンに基づくオプティミスティック コンカレンシー
SQL_NONSCROLLABLE と SQL_INSENSITIVE 既定の結果セット (順方向専用、読み取り専用)
SQL_NONSCROLLABLE と SQL_UNSPECIFIED 既定の結果セット (順方向専用、読み取り専用)

バージョンベースのオプティミスティック コンカレンシーには、基になるテーブルに タイムスタンプ 列が必要です。 タイムスタンプ列を持たないテーブルに対してバージョンベースのオプティミスティック コンカレンシー制御が要求された場合、サーバーは値ベースのオプティミスティック コンカレンシーを使用します。

スクロール可能

SQL_ATTR_CURSOR_SCROLLABLEが SQL_SCROLLABLE に設定されている場合、カーソルは SQLFetchScrollFetchOrientation パラメーターのすべての異なる値をサポートします。 SQL_ATTR_CURSOR_SCROLLABLEが SQL_NONSCROLLABLE に設定されている場合、カーソルは fetchOrientation 値SQL_FETCH_NEXTのみをサポートします。

感度

SQL_ATTR_CURSOR_SENSITIVITY が SQL_SENSITIVE に設定されているとき、現在のユーザーが行ったデータ変更または他のユーザーがコミットしたデータ変更がカーソルに反映されます。 SQL_ATTR_CURSOR_SENSITIVITY が SQL_INSENSITIVE に設定されているときは、データ変更がカーソルに反映されません。

参照

カーソル (ODBC) Cursor プロパティの使用