カーソル動作
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics 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 | 既定の結果セット (順方向専用、読み取り専用) |
バージョンベースのオプティミスティック コンカレンシーには、基になるテーブルに timestamp 列が必要です。 timestamp列がないテーブルに対してバージョンベースのオプティミスティック コンカレンシー制御が要求された場合、サーバーは値ベースのオプティミスティック コンカレンシーを使用します。
スクロール可能
SQL_ATTR_CURSOR_SCROLLABLEが SQL_SCROLLABLE に設定されている場合、カーソルは、SQLFetchScroll の FetchOrientation パラメーターのすべての異なる値をサポートします。 SQL_ATTR_CURSOR_SCROLLABLEが SQL_NONSCROLLABLE に設定されている場合、カーソルは SQL_FETCH_NEXT の FetchOrientation 値のみをサポートします。
感度
SQL_ATTR_CURSOR_SENSITIVITY が SQL_SENSITIVE に設定されているとき、現在のユーザーが行ったデータ変更または他のユーザーがコミットしたデータ変更がカーソルに反映されます。 SQL_ATTR_CURSOR_SENSITIVITY が SQL_INSENSITIVE に設定されているときは、データ変更がカーソルに反映されません。