Yes
>
>I am running a long script against a database (SQL Server 2005). At the top of the script there is a line:
>
>
>BEGIN TRAN
>GO
>
>
>Then in the middle of the script, there are many places with code like this (where each table is being changed):
>
>
>IF @@ERROR<>0 OR @@TRANCOUNT=0 BEGIN IF @@TRANCOUNT>0 ROLLBACK SET NOEXEC ON END
>GO
>
>
>Does it mean that if the script runs into any problem, the above code will UNDO ALL changes (all tables) done to the database?
>
>TIA.
--sb--