我需要更新某些表已更改的数据库(已添加列)。我想在正确的交易中执行此操作。如果代码执行没有任何问题,那么我将提交更改,否则我将数据库回滚到其原始状态。
我想做这样的事情:
BEGIN TRANSACTION
...Execute some sql statements here
COMMIT TRANSACTION (When every thing goes well)
ROLLBACK TRANSACTION (When something goes wrong)
请告诉我最好的方法是什么我知道有一个@@ TranCount变量,但不知道它的确切用途。
感谢。
答案 0 :(得分:4)
Begin Transaction
Alter Table dbo.MyTable
Add Col1 varchar(50)
If @@Error = 0
Begin
Commit Transaction
End
Else
Begin
Rollback Transaction
End
@@在每个SQL语句之后重置错误,因此必须在每个语句执行后立即检查它以检查是否有错误。