/*语法
SET XACT_ABORT { ON | OFF }
注释
当 SET XACT_ABORT 为 ON 时,如果 Transact-SQL 语句产生运行时错误,整个事务将终止并回滚。为 OFF 时,只回滚产生错误的 Transact-SQL 语句,而事务将继续进行处理。编译错误(如语法错误)不受 SET XACT_ABORT 的影响。
*/
SET XACT_ABORT ON
BEGIN TRY
BEGIN TRANSACTION
//插入需要事务执行的代码
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SET @error=ERROR_PROCEDURE()
RAISERROR(@error,16,1)
ROLLBACK TRANSACTION
END CATCH