文章出處

回到目錄

對于高并發的場合下,使用UPDLOCK可以有效的控制并發更新的問題,即當一個線程在進行with(UPDLOCK)并進行update時,另一個線程將被阻塞,它會等第一個線程更新結束后,才可以進行它里面的操作,使用UPDLOCK有效的避免了并發更新而產生的數據錯誤的問題,如累加操作,第二個線程需要等第一個線程累加結束后,才能進行下一步的累加動作,這是我們可以接受的。

測試代碼如下

BEGIN TRAN
SELECT  *
FROM    WebManageUsers WITH ( UPDLOCK )
WHERE   LoginName = 'zzl'
WAITFOR DELAY '00:00:10'
UPDATE  WebManageUsers
SET     RealName = 'zzlreal11'
WHERE   LoginName = 'zzl'
COMMIT TRAN

代碼運行后,再打開一個SQL客戶端,進行下面代碼的修改

BEGIN TRAN
SELECT  *
FROM    WebManageUsers WITH ( UPDLOCK )
WHERE   LoginName = 'zzl'
WAITFOR DELAY '00:00:10'
UPDATE  WebManageUsers
SET     RealName = 'zzlreal22'
WHERE   LoginName = 'zzl'
COMMIT TRAN

 回到目錄


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()