首页 > 数据库技术 > 详细

SQL server 事务实例

时间:2019-05-16 22:40:06      阅读:193      评论:0      收藏:0      [点我收藏+]

 简单的SQLserver事务实例:

执行SQL 组合操作A、操作B,只有AB都执行成功时才提交事务,否则回滚事务。

 测试数据表:

--1.数据表A
CREATE TABLE A(
A1 VARCHAR(10)
,A2 VARCHAR(10)
);
INSERT INTO A(A1,A2) VALUES (‘00001‘,‘soulsjie‘);

--2.数据表B
CREATE TABLE B(
B1 VARCHAR(10)
,B2 VARCHAR(100)
);
INSERT INTO B(B1,B2) VALUES (‘6666‘,‘b0001‘);
INSERT INTO B(B1,B2) VALUES (‘666‘,‘b0002‘);

 

 事务实例:

--SQL server事务
BEGIN TRAN UpdateAandB --创建事务
	DECLARE @AJIEGUO INT ,@BJIEGUO INT
	UPDATE A SET A1=‘12345678910‘; --操作A
	SET @AJIEGUO=@@ERROR;		   --操作A的执行状态码,0表示执行成功

	UPDATE B SET B2=‘soulsjieT‘    --操作B
	SET @BJIEGUO=@@ERROR;		   --操作B的执行状态码,0表示执行成功
	PRINT @BJIEGUO;

	IF(@AJIEGUO+@BJIEGUO=0)		   --只有操作A、操作B都成功执行时才提交事务
		COMMIT TRAN UpdateAandB;
	ELSE 
		ROLLBACK  TRAN UpdateAandB;--操作A或操作B有任何一个执行失败时回滚事务

 

SQL server 事务实例

原文:https://www.cnblogs.com/soulsjie/p/10878499.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!