بتاريخ: 22 مايو 200520 سنة comment_36976 السلام عليكم .....انا احاول يا اخوان ان اعمل database triggerبعد عملية الinsert بحيث يقوم هذا ال trigger بعمل truncate لكل السجلات الموجودة في جدول معين ,ولكن عند تشغيله تظهر رسالة خظأ تقول انه لا يمكن عمل commit في الtrigger فحاولت ان اعمل delete table_name; و اقوم بعها بعمل commit ولكن تظهر نفس الرسالة .فهل من مساعدة؟؟؟؟؟؟؟؟؟ تقديم بلاغ
بتاريخ: 22 مايو 200520 سنة comment_36980 هلا اخي اوامر التعامل مع البيانات في الداتا بيز تريجر العادي لا تحتاج الي commit ويتم عملها بطريقه اليههناك نوع وحيد من الداتا بيز تريجر الذي يقبلها وهوا atounomous trigger وهوا يقوم بنشاء transaction فرعيه و عمل commit عليهامع تمنياتي بالتوفيق تقديم بلاغ
بتاريخ: 22 مايو 200520 سنة كاتب الموضوع comment_36982 شكرا على الرد السريع .....ولكن انا اريد بعد عملية الحذف ان لا يتم عمل rollback لاستعادة البيانات مرة اخرى.لهذا كنت أسال عن الحذف و الcommit مباشرة كما هو الحال في الامر truncate تقديم بلاغ
بتاريخ: 22 مايو 200520 سنة comment_37077 اي تعامل مع الداتا من خلال الداتا بيز تريجر يكون محكوم بنجاح العمليه الاصليه فمثلا لو لديك تريجر قبل التعديل يقوم بمسح قيم في جدول اخر بمجرد انتهاء التعديل في الجدول الاول يتم في نفس الوقت مسح الجدول الثاني و يكون امكانية الاسترجاع او التاكيد محكومه هل قمت بعمل commit بعد بيانات الجدول الاول ام لا اذا كنت تريد ان يتم مسح بيانات الجدول الثاني بغض النظر عن ماذا تم في الجدول الاول اي اذا قمت بتعديل بيانات الاول و تم مسح الثاني و لكن اذا حدث rollback للاول يظل الثاني ممسوحا اي يتم فصل كل عمليه في transaction منفصله اكتب في بداية التريجر في قسم ال declare pragma autonomous transactionطبعا الحروف مش فاكر كده صح و لا لا ...هوا ده الحل الوحيد الي يسمحلك انك تعمل commit في داتا بيز تريجرمع تمنياتي بالتوفيق تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.