建议的副本不回答标题中的问题。正确执行2条SQL命令而不执行其他命令的方法
我想执行两个MSSQL命令,但没有任何其他“用户”(我不知道什么是正确的术语)在它们之间执行命令。
搜索,我发现两种方法看起来他们会做到这一点,但我不确定他们:
使用TABLOCK。 - 但我看到它被认为是不好的做法。
使用交易 - 但我所能找到的是它将是原子的,并且不一定会锁定其他操作。
什么方法是正确的方法?
更多信息:只有我的程序要访问数据库,但也可能是从它的几个实例,我不介意短暂的等待 - 如果一个实例将不得不排队等待一两秒钟- 没关系。
编辑:我试图插入一行,并得到它的身份。 (看起来并不像我期望的那样直截了当。)
你能解释为什么它如此重要以至于不会执行其他查询? – Pako
这两个命令是什么? – mbeckish
事务不会锁定正在使用的表以防止更改已使用的数据吗? – MAV