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