排它琐事务

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd>
如果想将共享锁持续到事务结束,可以使用下面的语句:
SELECT * FROM AA holdlock where BB =1
GO

如果是行锁定,可以参考下面的语句:
SELECT * FROM AA ROWLOCK WHERE BB = 1
GO

如果想在自己读取之前,禁止其它事务来读取,可以在一个事务中先使用UPDATE AA SET BB=BB WHERE 1=0 这样的SQL事句来加排它锁。这样就可以保证自身事务读取的唯一性,要注意提交或回滚自身事务。

PS:在一个事务中,你可以用UPDATE语句先设置一个排它锁。然后再SELECT,最后一定不要忘记提交或才回滚。因为当发生SELECT时,产生的是共享锁。读取完毕后,自动释放锁。当UPDATE经过锁等待,得到的锁是排它锁。此刻在本事务中再进行SELECT,这样就可以确保读取的唯一性(这个AA表是需要实时更新的吧?)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值