برای اینکه چندین دستور که در نتیجه یکدیگر اثرگذار هستند را باهم اجرا کنیم ،به عبارتی باید همه عملیات به درستی انجام شوند در غیر اینصورت هیچ یک از عملیات نباید اجراء شود،در این شرایط حتما باید دستورات داخل بلوک تراکنش باشند،برای ساخت بلوک تراکنش به صورت زیر عمل می کنیم:
فرض کنید دستورات زیر را داریم:
INSERT DataMZ
SELECT @TID,@OrderId,@OrderDetailId,@meghdar,@radif,@actualAmount,null,@owner
UPDATE MojavezR
SET [transfer]= @meghdar + [transfer]
WHERE Id = @OrderDetailId and [owner] =@owner
حالا می خواهیم این دستورات را در داخل بلوک تراکنش بگذاریم:
BEGIN TRY
BEGIN TRANSACTION
INSERT DataMZ
SELECT@TID,@OrderId,@OrderDetailId,@meghdar,@radif,@actualAmount,null,@owner
UPDATE MojavezR
SET[transfer]= @meghdar + [transfer]
WHERE Id = @OrderDetailId and [owner] =@owner
COMMIT
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK
END CATCH