PDA

View Full Version : rollback كردن همه دستورات در يك لحظه



Developer Programmer
دوشنبه 11 آبان 1388, 09:42 صبح
من با استفاده از كوئري، در چهار جدول Insert و Update ميكنم و حالا ميخوام اگه خطايي اتفاق افتاد، همه سطرها Rollback بشن و گرنه Commit بشن.

كوئري رو اينطوري مينويسم منتها rollback اتفاق نمي افته



update table1
insert table2
update table3
if @@error=0 commit
else rollback

majid_afra222
دوشنبه 11 آبان 1388, 12:46 عصر
سلام
کافیه قبل از دستورات BEGIN TRAN رو قرار بدید.
یا اینکه اگه از نسخه های 2005 و 2008 استفاده می کنید بهتره به شکل زیر کار کنید


BEGIN TRAN
BEGIN TRY
statement
COMMIT
END TRY
BEGIN CATCH
ROLLBACK
END CATCH