一个事务里能执行多少条update
1个回答
2017-10-17 · 百度知道官方认证企业
腾讯电脑管家
腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。
向TA提问
关注
展开全部
一、 语法
BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。
二、 使用示例
1.新建测试表
CREATE TABLE [dbo].[TEST_MAN](
[names] [nchar](10) COLLATE Chinese_PRC_CS_AS NULL,
[ages] [nchar](10) COLLATE Chinese_PRC_CS_AS NULL
) ON [PRIMARY]
2.使用
BEGIN TRANSACTION --开启事务
DECLARE @ERRNO INT –-记录错误数,@@error每次执行完一个sql会重新初始化
SET @ERRNO =0
INSERT INTO TEST_MAN VALUES('TOM','1');
SET @ERRNO = @ERRNO + @@ERROR
INSERT INTO TEST_MAN VALUES('CAT123432145','1');--错误sql字段超长
SET @ERRNO = @ERRNO + @@ERROR
INSERT INTO TEST_MAN VALUES('TOMCAT','1');
SET @ERRNO = @ERRNO + @@ERROR
IF @ERRNO>0 --如果错误数大于0,那么回滚事务;否则提交事务
BEGIN
PRINT('事务处理失败,回滚事务!')
ROLLBACK TRANSACTION
END
ELSE
BEGIN
PRINT('事务处理成功,提交事务!')
COMMIT TRANSACTION
END
BeginTrans用于开始一个事物;RollbackTrans用于回滚事务;CommitTrans用于提交所有的事务处理结果,即确认事务的处理。
二、 使用示例
1.新建测试表
CREATE TABLE [dbo].[TEST_MAN](
[names] [nchar](10) COLLATE Chinese_PRC_CS_AS NULL,
[ages] [nchar](10) COLLATE Chinese_PRC_CS_AS NULL
) ON [PRIMARY]
2.使用
BEGIN TRANSACTION --开启事务
DECLARE @ERRNO INT –-记录错误数,@@error每次执行完一个sql会重新初始化
SET @ERRNO =0
INSERT INTO TEST_MAN VALUES('TOM','1');
SET @ERRNO = @ERRNO + @@ERROR
INSERT INTO TEST_MAN VALUES('CAT123432145','1');--错误sql字段超长
SET @ERRNO = @ERRNO + @@ERROR
INSERT INTO TEST_MAN VALUES('TOMCAT','1');
SET @ERRNO = @ERRNO + @@ERROR
IF @ERRNO>0 --如果错误数大于0,那么回滚事务;否则提交事务
BEGIN
PRINT('事务处理失败,回滚事务!')
ROLLBACK TRANSACTION
END
ELSE
BEGIN
PRINT('事务处理成功,提交事务!')
COMMIT TRANSACTION
END
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询