首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

请帮忙看一上使用保留点的回滚事务

2012-09-06 
请帮忙看一下使用保留点的回滚事务BEGIN TRANSACTIONINSERT INTO 客户表(客户编号,姓名,性别,年龄,住址,电

请帮忙看一下使用保留点的回滚事务
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-- //创建保留点aaINSERT INTO 订单表(订单编号,客户编号,订单金额,订货日期,备注)  VALUES('051867','20240','242.3','2012-02-28',NULL)   ROLLBACK TRANSACTION aaCOMMIT  TRANSACTIONGOSELECT * 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  TRANSACTIONGOSELECT * FROM 客户表SELECT * FROM 订单表
[解决办法]
探讨
引用:

SQL code
ROLLBACK aa;--改成 ROLLBACK TRAN aa;


COMMIT和COMMIT TRANSACTION 和 COMMIT TRAN是一样的吧,

ROLLBACK和ROLLBACK TRANSACTION或ROLLBACK TRAN不是一样的吗?

热点排行