关于游标更新了一个时间索引字段之后。。
对几条数据进行更新,每次更新时间都必须在上次时间上多加10毫秒(updatetime字段),然后另一个字段(updatecount)+1,ps:updatetime字段上建了非聚集索引。
结果读出几条updatecount<20的数据用游标进行逐条更新的时候
declare @j=10
update 表 set updatecount=updatecount+1,updatetime=dateadd(ms,@j,getdate())
set @j=@j+10
每次都更新了N次,updatecount都直接到20.
当把updatetime的非聚集索引去掉的时候,更新就一切正常了。
求解,时间索引和游标有冲突吗?
或求更好的办法。。
------解决方案--------------------游标代码写全来
游标有很多种打开方式,其中如果动态游标,不排除在游标更新循环中出现一条数据被修改多次,造成你说的现象