分散クエリでのカーソルの使用
分散クエリでカーソルを使用する場合、プロバイダが必要な OLE DB 機能をサポートしていれば、カーソルの種類として無反応 (静的) とキーセット ドリブンの両方がサポートされます。分散クエリで要求された動的カーソルと順方向専用カーソルは、暗黙的にキーセット ドリブン カーソルに変換されます。
クエリ内のすべてのローカル テーブルとリモート テーブルが一意キーを持っていれば、分散クエリ上でキーセット ドリブン カーソルがサポートされます。分散クエリでキーセット カーソルがサポートされる条件については、「キーセット ドリブン カーソルを使用するための OLE DB プロバイダの要件」を参照してください。
キーセット ドリブン カーソルが分散クエリで使用できる場合、更新の実行に必要なプロバイダ要件が満たされていれば、そのカーソルを使用して基になるリモート テーブルを更新することもできます。リモート テーブルを更新するための要件については、「UPDATE と DELETE を使用するための OLE DB プロバイダの要件」を参照してください。
メモ : |
---|
SQL Server 2005 では、更新または削除する対象がリモートにある場合、オプティミスティック同時実行を実現するには、timestamp 列が必要です。オプティミスティック同時実行が指定されていても、リモート テーブルに timestamp 列がないと、エラーが発生します。SQL Server 2000 では、timestamp 列がないと、オプティミスティック同時実行はリモートの更新に対しては無効になりますが、エラーは発生しません。 |
メモ : |
---|
SQL Server 2005 の分散クエリについては、分離レベルが REPEATABLE READ 以上であっても、ユーザー トランザクションを指定する必要はありません。SQL Server 2000 では、分離レベルが REPEATABLE READ 以上であれば、ユーザー トランザクションが必要でした。 |
参照
その他の技術情報
DECLARE CURSOR (Transact-SQL)
カーソルの使用