我想确保一次插入 2 行。如果我INSERT像这样同时执行 2 个查询
CREATE TABLE [dbo].[Table_test2]
(
[column1] [int] NOT NULL ,
[column2] [int] NOT NULL ,
PRIMARY KEY(column1, column2)
)
-- column1 & column2 = primary key
--query 1
BEGIN TRAN
INSERT INTO Table_test(column1, column2) VALUES (1,1)
INSERT INTO Table_test(column1, column2) VALUES (2,2)
COMMIT TRAN
--query 2
BEGIN TRAN
INSERT INTO Table_test(column1, column2) VALUES (2,2)
INSERT INTO Table_test(column1, column2) VALUES (1,1)
COMMIT TRAN
Run Code Online (Sandbox Code Playgroud)
我认为 query1 和 query2 都会失败。因为表将在第一条INSERT语句后解锁,所以 query1 和 query2 将成功插入第一行。但是当每个查询插入第二条INSERT …