接口程序一直運行的很穩定,其中有一天進行了數據庫的整改,致使程序不斷報錯,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 -?