事务类型
任何对数据的修改都是在事务环境中进行的。SQL Server使用三类事务模式来管理数据的修改:
显式事务--对显式事务的定义是,事务中存在显式的BEGIN TRANSACTION语句,后跟一个或多个相关的数据修改语句,并以显式的COMMIT TRANSACTION语句结束。错误检查加在COMMIT TRANSACTION语句之前,这样,如果操作有错,事务可以通过ROLLBACK TRANSACTION语句来撤消。
隐式事务--隐式事务遵循其他一些数据库产品的行为规范,只要进行数据修改,就隐式地开始一个事务。然而,在执行显式的COMMIT TRANSACTION或者ROLLBACK TRANSACTION语句,事务是不会完成的。使用SET IMPLICIT_ TRANSACTION ON命令可以在单个连接上激活隐式事务。
自动提交事务--如果数据修改语句是在没有显式或者隐式事务的数据库中执行的,就称为自动提交事务。自动提交事务中的修改模式与下一节介绍的其他事务相同。
简言之,它一次仅执行一个操作。那么哪种事务模式最好呢?这取决于应用程序。如果希望SQL Server以某种方式执行,就应明确指定,以免出现混淆。许多人都喜欢使用显式事务。如果有5个不同的操作需要执行为一个单元,就可以把它们封装在一个显式事务中,将其作为一个单元一起执行。如果不希望使用这种执行方式,只要不定义显式事务,每个语句就会互不关联地独立执行。通过阅读代码,您就可以看出多个操作是否需要在一个事务中执行。