动态游标与静态游标相对。当滚动游标时,动态游标反映结果集中所做的所有更改。结果集中的行数据值、顺序和成员在每次提取时都会改变。所有用户做的全部 UPDATE、INSERT 和 DELETE 语句均通过游标可见。如果使用 API 函数(如 SQLSetPos)或 Transact-SQL WHERE CURRENT OF 子句通过游标进行更新,它们将立即可见。在游标外部所做的更新直到提交时才可见,除非将游标的事务隔离级别设为未提交读。
在 SQL Server 2005 中,动态游标工作表更新始终可以进行。也就是说,即使键列作为更新的一部分更改了,当前行仍将被刷新。在 SQL Server 2000 中,当前行被标记为删除(因为它本不应用于键集游标),但是该行并未插入至工作表的末端(因为它用于键集游标)。结果是游标刷新未找到行并报告此行丢失。SQL Server 2005 保持游标工作表同步,并且刷新能够找到行,因为它具有新的键。