建議的副本不回答標題中的問題。正確執行2條SQL命令而不執行其他命令的方法
我想執行兩個MSSQL命令,但沒有任何其他「用戶」(我不知道什麼是正確的術語)在它們之間執行命令。
搜索,我發現兩種方法看起來他們會做到這一點,但我不確定他們:
使用TABLOCK。 - 但我看到它被認爲是不好的做法。
使用交易 - 但我所能找到的是它將是原子的,並且不一定會鎖定其他操作。
什麼方法是正確的方法?
更多信息:只有我的程序要訪問數據庫,但也可能是從它的幾個實例,我不介意短暫的等待 - 如果一個實例將不得不排隊等待一兩秒鐘- 沒關係。
編輯:我試圖插入一行,並得到它的身份。 (看起來並不像我期望的那樣直截了當。)
你能解釋爲什麼它如此重要以至於不會執行其他查詢? – Pako
這兩個命令是什麼? – mbeckish
事務不會鎖定正在使用的表以防止更改已使用的數據嗎? – MAV