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