sqlserver-一次updlock和withnolock和with check option 的報錯緣由分析

接口程序一直運行的很穩定,其中有一天進行了數據庫的整改,致使程序不斷報錯,sql

報錯信息以下數據庫

緣由:blog

程序代碼寫入如下代碼接口

select * from ViewName with(updlock) where XXX

而數據庫的這個view代碼以下事務

select * from tableName with(nolock) where XX

只要執行這個查詢,就會致使以上錯誤,以上錯誤代碼,一個須要加鎖,一個不須要加鎖,故報錯了it

故將數據庫的view進行這樣寫io

select * from tableName where XX with check option

就能夠了,具體緣由還在研究中table

 

with(nolock)-表明不進行加鎖class

updlock- 表明更新鎖,在執行這個查詢後,它的值則被鎖定,直到事務提交才能夠進行更新select

with check option -?

相關文章
相關標籤/搜索