動的カーソルは静的カーソルと対照的です。動的カーソルは、スクロールされるときに、結果セット内の行に対して行われたすべての変更を反映します。結果セット内の行のデータ値、順序、およびメンバシップは、フェッチを実行するたびに変化する可能性があります。UPDATE、INSERT、および DELETE ステートメントをどのユーザーが実行しても、その実行結果はすべてカーソルに表示されます。更新が SQLSetPos などの API 関数または Transact-SQL の WHERE CURRENT OF 句のいずれかを使用してカーソルによって行われた場合、それらの更新結果はすぐに表示されます。カーソルの外部から行った更新は、コミットされるまで表示されません。ただし、カーソルのトランザクション分離レベルが READ UNCOMMITTED に設定されている場合は、その限りではありません。
SQL Server 2005 では、動的カーソルの作業テーブルの更新は常に実施されています。つまり、キー列が更新の一部として変更される場合でも、現在の行が更新されます。SQL Server 2000 では、現在の行は (配置されていないキーセット カーソルの場合と同様に) 削除するようにマークされても、(キーセット カーソルの場合とは異なり) 作業テーブルの末尾に挿入されませんでした。結果として、カーソルの更新では、行が検索されず、行が不足していることが報告されました。SQL Server 2005 では、カーソルの作業テーブルの同期が保たれます。また、行に新しいキーがあるので、更新によって行を検索できます。