T-sql 的Transaction模板
很简单的模板,开始一个Transaction,然后运行一些命令。最后根据情况来判断是否Commit
如果在中间出了严重故障,无法在程序中终止,可以在Management Studio中关闭当前命令窗口,Sqlserver会提示,是否终止未完成的Transaction, 选择No即可。
-- Transaction template
Begin Try
Begin Transaction updateWLReg
Begin
-- leave your code here
End
IF @@ERROR <> 0
BEGIN
print 'rollback transaction because there is a error'
ROLLBACK TRANSACTION
END
ELSE
begin
print 'commiting'
---- change this to Rollback during debuging phase
-- ROLLBACK TRANSACTION
Commit TRANSACTION
end
End Try
Begin Catch
print 'exception happens'
SELECT ERROR_NUMBER() ERNumber,
ERROR_SEVERITY() ErrorSeverity,
ERROR_STATE() ErrorState,
ERROR_PROCEDURE() ErrorProcedure,
ERROR_LINE() ErrorLine,
ERROR_MESSAGE() ErrorMessage
ROLLBACK TRANSACTION
End Catch
本文提供了一个T-SQL的事务处理模板,该模板通过Try-Catch结构来确保数据的一致性和事务的完整处理。在遇到错误时可以选择回滚或者提交事务,并提供了错误捕获和处理机制。
751

被折叠的 条评论
为什么被折叠?



