In .Net we are familiar with Try/Catch blocks and you can do this in SQL Server running SQL transactions as well with the additional benefit of “undoing” what was started if something were to fail mid-execution.
If there is ever a situation where you need the entire script to execute successfully and if there is a failure of any sort be able to revert/rollback the changes the script made, here is how you can structure your SQL:
Begin TRY BEGIN TRANSACTION -- Do your work here Commit TRANSACTION End TRY Begin CATCH IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION; End CATCH