问题描述
timer事件中。利用for循环,通过访问存储过程取数据,存储过程大概如下:begindeclare@fidintselecttop1fid=@fidfromtablewhereflag=1updatetablesetflag=2wherefid=@fid......还有一些update执行语句select*fromtablewherefid=@fidend目前存在的问题是,有时候出现两次循环取的是同一条数据的问题,正常来讲flag已经被update成2了,就不应该检索出相同fid的数据了,但目前确实存在这个问题。是不是循环执行的速度太快了???update还没有执行成功???
解决方案
解决方案二:
第一个还没更新完,后一个操作进行了select
解决方案三:
取数据是在一个存储过程里呀,存储过程怎么执行呢,一个存储过程没执行完,另一个不是等待吗?那应该如何解决这个问题呢?
解决方案四:
该回复于2012-04-13 15:03:48被版主删除
解决方案五:
应该如何解决这个问题呢?
解决方案六:
数据库锁机制
时间: 2024-10-22 04:12:18