bogii بتاريخ: 20 مارس 2006 تقديم بلاغ مشاركة بتاريخ: 20 مارس 2006 اخواني في الله السلام عليكم ورحمة اللهانا في مشكله واريد من اهل الخبره مساعدتيعندي SQL script يحتوي علي الاتي 1- insert into table1(select * from SCHEMA2.TABLE1)2- insert into table2(select * from SCHEMA2.TABLE2)3- insert into table3(select * from SCHEMA2.TABLE3)Commitالمشكله التي تواجهني ان في بعض الاحيان يتم تنفيذ 1 و2 وتفشل 3 وهذا غير مطلوبالمطلوب: انه اذا فشل تنفيذ ايا من هذه الجمل يتم عمل rollback دون تنفيذ ايا من هذه الجملفهل توجد طريقه لحل هذه المشكله؟؟؟أفيدوني أفادكم الله اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبدالله ندا بتاريخ: 20 مارس 2006 تقديم بلاغ مشاركة بتاريخ: 20 مارس 2006 الحل الاسهل عمل commit بعد كل عبارهالحل الاصعب استخدام داله ذات جلسة عمل منفصله autonomouse transactionمع تمنياتي بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
bogii بتاريخ: 20 مارس 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 20 مارس 2006 شكرا لتجاوبك اخي black & whiteولكن بالنسبه للحل الاول بإضافة commit بعد كل Insertفهذا غير مطلوب لان المطلوب هو عمل commit فقط في حالة نجاح تنفيذ جميع جمل ال insert>>اما في حالة فشل ايا منهم مطلوب الخروج دون عمل اي commit (ارجو ان تكون المشكله واضحه الان اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
أسامة موسى بتاريخ: 20 مارس 2006 تقديم بلاغ مشاركة بتاريخ: 20 مارس 2006 اخي الكريمضع التاليفهذه الطريقة تفحص اذا نعم يقوم بالتخزين والاى يقوم بعمل rollback insert into table1(select * from SCHEMA2.TABLE1) insert into table2(select * from SCHEMA2.TABLE2) insert into table3(select * from SCHEMA2.TABLE3) COMMIT; EXCEPTION when others then DECLARE server_err NUMBER := abs(DBMS_ERROR_CODE); server_msg VARCHAR2(2000) := DBMS_ERROR_TEXT; BEGIN rollback; message('Error during insert: '||to_char(server_err) ||'-'||server_msg); END; اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ابو عبد الرحمن التميمي بتاريخ: 20 مارس 2006 تقديم بلاغ مشاركة بتاريخ: 20 مارس 2006 جزاك الله خيراً اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
bogii بتاريخ: 21 مارس 2006 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 21 مارس 2006 أخي Admin5شكرا لتعاونك واهتمامك....فعلا استطعت بهذه الطريقه عمل transaction واحد لكل insert commandsجزاك الله خيرا يا اخي اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.