USE tempdb
IF OBJECT_ID ('dbo.test') IS NOT NULL
DROP TABLE dbo.test
GO
CREATE TABLE dbo.test
(
id INT NOT NULL,
CONSTRAINT pk_id PRIMARY KEY (id)
)
GO
BEGIN TRANSACTION
INSERT INTO dbo.test(id)VALUES (0 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (2 )
COMMIT TRANSACTION
/*******结果**********
(1 行受影响)
(1 行受影响)
消息 2627,级别 14,状态 1,第 19 行
违反了 PRIMARY KEY 约束“pk_id”。不能在对象“dbo.test”中插入重复键。重复键值为 (1)。
语句已终止。
(1 行受影响)
*/
SELECT *FROM dbo.test
/**********结果*********
id
0
1
2
*/
TRUNCATE TABLE dbo.test
SET XACT_ABORT ON
BEGIN TRANSACTION
INSERT INTO dbo.test(id)VALUES (0 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (1 )
INSERT INTO dbo.test(id)VALUES (2 )
COMMIT TRANSACTION
/**********结果************
(1 行受影响)
(1 行受影响)
消息 2627,级别 14,状态 1,第 61 行
违反了 PRIMARY KEY 约束“pk_id”。不能在对象“dbo.test”中插入重复键。重复键值为 (1)。
*/
SELECT *FROM dbo.test
/******结果为空************/