请帮忙看一上使用保留点的回滚事务
请帮忙看一下使用保留点的回滚事务
BEGIN TRANSACTION
INSERT INTO 客户表
(客户编号,姓名,性别,年龄,住址,电话,电子邮件)
VALUES
('20245','张三','男','46','北京','135000000',NULL)
SAVE TRANSACTION aa; //创建保留点aa
INSERT INTO 订单表
(订单编号,客户编号,订单金额,订货日期,备注)
VALUES
('051867','20240','242.3','2012-02-28',NULL)
ROLLBACK aa;
COMMIT
GO
SELECT * FROM 客户表
SELECT * FROM 订单表
上面语句插入客户表的语句没有错,但插入订单表的时候,客户编号写错了,怎样使用保留点,只回滚插入订单表那个地方呢?插入客户表不撤销,帮我改一下
谢谢...
------解决方案--------------------
BEGIN TRANSACTION
INSERT INTO 客户表
(客户编号,姓名,性别,年龄,住址,电话,电子邮件)
VALUES
('20245','张三','男','46','北京','135000000',NULL)
SAVE TRANSACTION aa; //创建保留点aa
INSERT INTO 订单表
(订单编号,客户编号,订单金额,订货日期,备注)
VALUES
('051867','20240','242.3','2012-02-28',NULL)
ROLLBACK aa;
COMMIT
GO
SELECT * FROM 客户表
SELECT * FROM 订单表
上面语句插入客户表的语句没有错,但插入订单表的时候,客户编号写错了,怎样使用保留点,只回滚插入订单表那个地方呢?插入客户表不撤销,帮我改一下
谢谢...
------解决方案--------------------
- SQL code
BEGIN TRANSACTION INSERT INTO 客户表 (客户编号,姓名,性别,年龄,住址,电话,电子邮件) VALUES ('20245','张三','男','46','北京','135000000',NULL) SAVE TRANSACTION aa-- //创建保留点aa INSERT INTO 订单表 (订单编号,客户编号,订单金额,订货日期,备注) VALUES ('051867','20240','242.3','2012-02-28',NULL) ROLLBACK TRANSACTION aa COMMIT TRANSACTION GO SELECT * FROM 客户表 SELECT * FROM 订单表
------解决方案--------------------
- SQL code
ROLLBACK aa;--改成 ROLLBACK TRAN aa;
------解决方案--------------------
- SQL code
BEGIN TRANSACTION INSERT INTO 客户表 (客户编号,姓名,性别,年龄,住址,电话,电子邮件) VALUES ('20245','张三','男','46','北京','135000000',NULL) SAVE TRANSACTION aa; //创建保留点aa --这个地方设置了保留点 INSERT INTO 订单表 (订单编号,客户编号,订单金额,订货日期,备注) VALUES ('051867','20240','242.3','2012-02-28',NULL) ROLLBACK TRANSACTION aa; --此处回滚就会撤销保留点以后的操作,之前的插入操作保留 COMMIT TRANSACTION GO SELECT * FROM 客户表 SELECT * FROM 订单表
------解决方案--------------------