小编dda*_*ngi的帖子

事务如何在 SQL Server 中具有多个 VALUES 的单个 INSERT 中工作

我想确保一次插入 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 …

sql sql-server transactions insert

2
推荐指数
1
解决办法
3528
查看次数

标签 统计

insert ×1

sql ×1

sql-server ×1

transactions ×1