zoukankan      html  css  js  c++  java
  • 排它琐事务

    < 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表是需要实时更新的吧?)。
  • 相关阅读:
    省选知识点
    寒假练习
    水题欢乐赛-套路
    2019年12月(2)
    洛谷P1347 排序
    Aizu
    2019年12月(1)
    【CSP2019】
    联系博主
    UVA1420 Priest John's Busiest Day【贪心】
  • 原文地址:https://www.cnblogs.com/netcorner/p/2912058.html
Copyright © 2011-2022 走看看