--创建测试表 CREATE TABLE Test ( Test INT PRIMARY KEY ) --创建存储过程 ALTER PROC MyTest @Number1 INT, @Number2 INT AS SET XACT_ABORT ON BEGIN TRAN BEGIN TRY INSERT INTO Test values(@Number1); INSERT INTO Test values(@Number2); END TRY BEGIN CATCH IF @@trancount > 0 ROLLBACK TRAN END CATCH IF @@trancount > 0 COMMIT TRAN --正常执行执行 EXEC MyTest 1,2 --主键约束错误执行 EXEC MyTest 1,2 --主键约束错误执行 EXEC MyTest 'str1',2 --删除 DELETE FROM Test; --查询 SELECT * FROM Test;