بتاريخ: 12 ديسمبر 200520 سنة comment_54103 اخوتي زوار واعضاء موقع اوراكل العربلدي مشكلة ارجوا ان تساعدوني في حلها وهيانني لدي جدول به بيانات وجدول آخر مرتبط بهذا الجدول ايضا ادخلت به بياناتالمشكلة هي أنني اكتشفت في بعض السجلات في الجدول الرئيسي ان هناك خطأ في ادخال بيانات سجل والخطأ في المفتاح الأساسي بمعنى انني ادخلت رقم خطأ وعندما اردت ان اعدله لم يستجيب للتعديل بحكم انه هناك بيانات أخرى في الجدول الآخر مرتبطة بهذا الرقمسؤالي هل هناك طريقة للتعديل عن طريق cascade او أي صورة أخرى تقديم بلاغ
بتاريخ: 13 ديسمبر 200520 سنة comment_54218 على حد علمى الضعيف جدآآ ان المفتاح الاساسى لا يعدل لكن يمكن ان يهدم و يعاد بناءه مرة اخرىايهاب وجدى تقديم بلاغ
بتاريخ: 17 ديسمبر 200520 سنة كاتب الموضوع comment_54540 اخواني رواد وأعضاء المنتدى أخبركم بأنني قد توصلت الى حل هذه المشكلة بمساعدة اخي mustafa76 له مني الشكر أجزله وذلك كألآتي على مستوى الفورمتقوم بكتابة هذه الاوامر في زر التعديلتقوم بتعطيل كل القيود disable constraints وذلك بأستخدام الدالة form_ddl كما يلي مثلا forms_ddl('alter table commitment disable constraint car_commit_fk cascade');حيث ان car_commit_fk هي قيد في الجدول commitmentوهكذا تستمر في تعطيل كل القيود حتى تصبح الجداول كلها محررة ومنفصلة عن بعضها ثم بعد ذلك تقوم بالتعديل المطلوب وتحفظ هذه التعديلات وتعيد تشغيل القيود مرة أخرى كما يلي بنفس الدالة السابقةforms_ddl('alter table commitment enable constraint car_commit_fk');وهكذا لكل القيود التي عطلتها سابقالكن تذكر انك يجب ان تعدل هذا المفتاح في كل الجداول الأخرى ويمكن ان تقوم بكتابة اوامر التعديل هذه في التريقر pre_update مثلاupdate commitment set car_no=:car_no where car_no=:h.p;وبذلك تكون عدلت في المفتاح الاساسي في الجدول الأساسي وفي كل الجداول الأخرى المرتبطة به تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.