SQL Server中有关事务处理的语句包括: ��(1) BEGIN TRANSACTION[] :开始一个显式事务。 ��(2)COMMIT TRANSACTION :标识一个显式事务或隐式事务正常结束而提交。 ��(3)SAVE TRANSACTION :在事务内定义一个存储点标记。 ��(4)ROLLBACK TRANSACTION :回滚当前事务。 ��(1)定义和提交事务的语句格式: BEGIN TRANSACTION [事务名称] ��{ SQL 语句 } ��COMMIT TRANSACTION ��① 哪些SQL语句组成一个事务由用户根据情况而定。 ��② 定义一个事务时,BEGIN TRANSACTION语句与COMMIT TRANSACTION语句必须成对出现。 ��(2) 回滚事务的语句格式: ROLLBACK TRANSACTION[事务名称|存储点名称] ��该语句回滚整个事务或是在存储点定义以后所发生的事务。ROLLBACK TRANSACTION语句应在COMMIT TRANSACTION语句之前调用。 ��回滚事务,就是消除事务执行的影响。在一个事务被提交之前可以使用ROLLBACK TRANSACTION语句进行回滚,事务一旦提交就不能撤销。 ��(3) 定义存储点标记的语句格式: SAVE TRANSACTION 存储点名称 ��在一个事务内建立一个存储点标记。 ROLLBACK TRANSACTION 语句可使用该标记来回滚部分事务操作,即回滚在存储点名称标记之后事务执行的部分操作。 ��(4) 定义和回滚事务 例1,下面例子说明怎样定义一个用户事务,并在事务中的建立存储点标记,实现回滚操作和事务提交操作。 ��BEGIN TRANSACTION demo /开始一个事务/ ��SELECT * FROM discounts /查询discounts表中的所有记录/ ��SAVE TRANSACTION save_demo /建立存储点标记save_demo / ��INSERT discounts /在discounts表中插入一条记录/ ��VALUES ('demo',null,null,null,20.0) ��SELECT * FROM discounts /查询discounts表中的所有记录/ ��ROLLBACK TRANSACTION save_demo /回滚到存储点标记save_demo/ ��COMMIT TRANSACTION /提交事务/ ��SELECT *FROM discounts /再查询discounts表的所有记录,是否有变化?/ ��例2,更新矩形表,所有在P3中的矩形都左移5个单位。作为一个事务处理,语句如下: ��BEGIN TRANSACTION uprec UPDATE 矩形 ��SET x_position = x_position-5 ��WHERE envelope="p3" COMMIT TRANSACTION |