在事务中执行语句-Sql Server 2005
我需要更新一个数据库,其中一些表已经更改(添加了列)。我希望在正确的事务中执行此操作。如果代码执行时没有任何问题,那么我将提交更改,否则我将回滚数据库到其原始状态 我想这样做:在事务中执行语句-Sql Server 2005,sql,sql-server-2005,transactions,execute,Sql,Sql Server 2005,Transactions,Execute,我需要更新一个数据库,其中一些表已经更改(添加了列)。我希望在正确的事务中执行此操作。如果代码执行时没有任何问题,那么我将提交更改,否则我将回滚数据库到其原始状态 我想这样做: BEGIN TRANSACTION ...Execute some sql statements here COMMIT TRANSACTION (When every thing goes well) ROLLBACK TRANSACTION (When something goes wrong) 请告诉我最
BEGIN TRANSACTION
...Execute some sql statements here
COMMIT TRANSACTION (When every thing goes well)
ROLLBACK TRANSACTION (When something goes wrong)
请告诉我最好的方法是什么?我知道有一个@TranCount变量,但不知道它的确切用途
谢谢
Begin Transaction
Alter Table dbo.MyTable
Add Col1 varchar(50)
If @@Error = 0
Begin
Commit Transaction
End
Else
Begin
Rollback Transaction
End
@@错误会在每个SQL语句后重置,因此您必须在执行每个语句后立即检查错误以检查是否有错误。请参阅:包含TRY-CATCH回滚模式的嵌套存储过程?: