Hal termudah yang harus dilakukan adalah membungkus kode Anda dalam sebuah transaksi, dan kemudian mengeksekusi setiap kumpulan kode T-SQL baris demi baris.
Sebagai contoh,
Begin Transaction
-Do some T-SQL queries here.
Rollback transaction -- OR commit transaction
Jika Anda ingin memasukkan penanganan kesalahan, Anda dapat melakukannya dengan menggunakan TRY ... CATCH BLOCK. Jika terjadi kesalahan, Anda dapat mengembalikan tranasction di dalam blok catch.
Sebagai contoh:
USE AdventureWorks;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- Generate a constraint violation error.
DELETE FROM Production.Product
WHERE ProductID = 980;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
Lihat tautan berikut untuk lebih jelasnya.
http://msdn.microsoft.com/en-us/library/ms175976.aspx
Semoga ini membantu, tetapi beri tahu saya jika Anda memerlukan detail lebih lanjut.
Saya ingin menambahkan poin yang Anda juga dapat (dan jika yang Anda tulis rumit) menambahkan variabel uji ke rollback jika Anda dalam mode uji. Kemudian Anda dapat menjalankan semuanya sekaligus. Seringkali saya juga menambahkan kode untuk melihat hasil sebelum dan sesudah dari berbagai operasi terutama jika itu adalah skrip yang kompleks.
Contoh di bawah ini:
sumber