请教大神,SQL SERVER中,如何做到在语句1执行的时候,让语句2等待。
--语句1: begin tran if not exists(select 1 from UserInfo where id=14285 and activityPoint='1') Begin waitfor delay '00:00:10'; --等待30秒 update UserInfo set activityPoint='2' where id=14285 end commit tran --语句2: update UserInfo set activityPoint='1' where id=14285
说明一下,这两个语句属于不同的sp
你没有锁的概念。
建立下“锁”的概念就好了
锁 我知道,但是不会用,今天试了下,死锁了,所以才来这里问问。
@麻雀怒吼: 不一定是死锁吧? 确定不是锁等待?profiler里能抓出死锁么
新建一张表,语句1开始执行的时候,同事把表里的字段设置成1,执行完后设置成0.
语句2执行的时候,去表里看,是0的话执行,是1的话就等待。
sql语句本身就是顺序执行的,只有语句1执行完了语句2才能执行,你的语句难道语句2会比语句1先执行?
什么都不用做,sql就是按照预计顺序执行的
http://www.cnblogs.com/yinchuan/p/4910980.html 你看看这个
可以将 两个sp放在一个session内执行,自然就按照顺序来执行了