SQL Server 事务处理 回滚事务
发布时间:2023-02-28 13:46:01 所属栏目:MsSql教程 来源:
导读:创建表:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[t1](
[Id] [int] NOT NULL,
[c1] [nvarchar](50) NULL,
[c2] [datetime] NULL,
CONSTRAINT [PK_Table1] P
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[t1](
[Id] [int] NOT NULL,
[c1] [nvarchar](50) NULL,
[c2] [datetime] NULL,
CONSTRAINT [PK_Table1] P
创建表: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[t1]( [Id] [int] NOT NULL, [c1] [nvarchar](50) NULL, [c2] [datetime] NULL, CONSTRAINT [PK_Table1] PRIMARY KEY CLUSTERED ( [Id] ASC )WITH (PAD_INDEX = OFF, STATISTICS_norECOmpuTE = OFF, IGnorE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] 解决方案(一) declare @iErrorCount int set @iErrorCount = 0 begin tran Tran_2008_10_07 insert into t1(Id, c1) values(1,'1') set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) values(2,'2') set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) values('xxxx3','3') set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) values(4,'4') set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) values(5,'5') set @iErrorCount=@iErrorCount+@@error if @iErrorCount=0 begin COMMIT TRAN Tran_2008_10_07 end else begin ROLLBACK TRAN Tran_2008_10_07 end 解决方案(二) begin try begin tran Tran_2008_10_07 insert into t1(Id, c1) values(1,'1') insert into t1(Id, c1) values(2,'2') insert into t1(Id, c1) values('xxxx3','3') insert into t1(Id, c1) values(4,'4') insert into t1(Id, c1) values(5,'5') COMMIT TRAN Tran_2008_10_07 end try begin catch raiserror 50005N'出错了' ROLLBACK TRAN Tran_2008_10_07 end catch (编辑:汽车网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐