الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية عمل ال RollBack + Transaction للفائدة

بدأه EngPeek في 23 مايو 2010 · 1 رد · 889 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذه الدوال والاجراءات تستخدم بشكل مهم لعمل تراجع لو حصل خطأ في أحد الإجراءات اثناء التنفيذ مثلا : تريد أن تعمل INSERT ثم DELETE ثم UPDATE وفجأة حصل خطأ في UPDATE حينها بشكل طبيعي لا تريد ان ترى اي تأثيرات على INSERT أو DELETE وتود ان تحل المشكلة على UPDATE وتعيد العملية مجددا ،،،،

هذا الكود هو الحل



DECLARE @TranCounter INT;
SET @TranCounter = @@TRANCOUNT;
IF @TranCounter > 0
SAVE TRANSACTION ProcedureSave;
ELSE
BEGIN TRANSACTION;
BEGIN TRY



-- INSERT
-- UPDATE
-- DELETE
-- SELECT


IF @TranCounter = 0
COMMIT TRANSACTION;
if @@Error = 0

select 1-- ok

END TRY
BEGIN CATCH
ROLLBACK TRANSACTION;

select ERROR_MESSAGE() as Error ,-1 -- Error
END CATCH

لا تنسونا من صالح الدعـــــــــــاء

تم تعديل هذه المشاركة بواسطة EngPeek في 23 مايو 2010 في 16:16

"كل ما هو جديد ومميز ومفيد وغريب ولطيف "

مدونتي

#2

أحسنت بارك الله فيك , بالفعل هذا ما أبحث عنه ..

اللهم أطل عمري وأحسن عملي واختم بالشهادة أجلي

مواضيع مشابهة