الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

مشكله عند الحذف

Featured Replies

بتاريخ:

بسم الله الرحمن الرحيم

كلما حاولت أن أقوم بعملية حذف تظهر هذة الرساله

CANNOT DELETE MASTER RECORD WHEN MATCHING DETAIL RECORDS EXIST
أيه الحل للمشكله دى
وجزاكم الله خيرا

ملاحظه
انا عامل أكتر من DATABKOCK وبينهم علاقه
هوه ده السبب ولا أيه

بتاريخ:

الأخ / moslem_12002

معنى هذه الرسالة :
انك تحاول الغاء سجل من جدول رئيسى... وفى نفس الوقت يوجد استخدام لمفتاح الجدول المراد الغاؤه... فى جداول اخرى .
مثل جدول الادارات ( رقم الادارة pk + اسم الادارة )
وجدول الموظفين ( رقم الموظفpk + اسمه + رقم الادارة FK + ... )

يوجد محاولة لالغاء السجل الخاص برقم ادارة معين من جدول الادارات
وهذا الرقم مستخدم فى جدول الموظفين كمفتاح اجنبي forigen key أى يعمل فى هذه الادارة موظف أو أكثر

وبالتالى تظهر رسالة .. عدم امكانية تنفيذ الالغاء للسجل الرئيسي

مع تمنياتى بالتوفيق

بتاريخ:
  • كاتب الموضوع

شكرا أخى العزيز على التوضيح
ولكن هل توجد طريقه للحذف
أفكر فى عمل تريجير عند الحذف
يقوم بأيقاف fk+pk
ثم الحذف
ثم تشغيلهم مره اخرى

بتاريخ:

الاخ الكريم
انت ممكن في التريجر

key-delrec
اعمل حذف لكل سجلات ال
detail
وبعد كده احذف الماستر
شكرا

بتاريخ:

بسم الله الرحمن الرحيم

السلام عليكم و رحمه الله و بركاته

انا حعقب و حقول معلمه اكيد كلكم عرفينا بس ممكن تفيد فى الموضوع ده
لما بنيجى ننشىء Master Detail طبعا بنعمل البلوك اللى حيكون Parent و بعدين بنكون البلوك اللى حيكون Child و فى مرحله تكوين الــــ child block بتفتح لينا النافذه الخاصه بأنشاء العلاقه بين الاثنين بلوك كما هو موضح بالصوره
4mbayw6.jpg

فى الحاله دى احنا استخدمنا مولد العلاقه بين الاثنين بلوك و ده بيعمل enforce يعنى بيجيب العلاقه اتوماتيك و بينشىء حاجه اسمها Relation node و دى بتحتوى على العلاقه بين البلوكين حيت بيتكون فيها الــ join condition مع العلم انه بيجعل الخاصيه Delete record behavior من النوع non isolated بمعنى انه مينفعشى تحذف الماستر و هو عنده child او معلومات فرعيه معتمده عليه كما فى الصوره

5y34pon.jpg
طيب حتقولى العمل ايه العمل انك تكون العلاقه دى يدويا بين البلوكين و تكتب join condition و تخلى النوع الخاص بــ Delete record behavior من النوع isolated و بكده ممكن تحذف الماستر حتى لو معتمد عليه بيانات اخرى فى بلوك اخر

اتمنى انى اكون وضحت
و الله أعلى و أعلم

بتاريخ:


اخى العزيز
نفرض انك تعمل على جدول dept وemp
وكما نعلم فان الجدولين مربوطين بـdeptno
نذهب الى sqlplus
ثم تكتب الاتى
sql>alter table emp
sql>drop constraint xx
على فرض ان اسم العلاقة(constraint ) بين الجدولين هو xx
sql> alter table emp
add constraint yyy forign key(deptno) references dept(deptno) on delete cascade
حيث ان yyy هو اى اسم للعلاقة بين الجدولين
فى هذة الحالة عند حذف سجل من الجدول الرئيسي dept سيقوم بحذف جميع السجلات المتعلقة به من جدول emp (الموظفون)
والله اعلم

بتاريخ:

الاخوة الكرام
المفروض منجيش جنب ال CONSTRAINS
خالص
انت ممكن تعمل زي ما انا قولت في تريجر
KEY -DELREC
شكرا

بتاريخ:
  • كاتب الموضوع

السلام عليكم ورحمة الله
أولا انا لم أكن أتوقع اهتمام أحد بسؤالى
ولكن ماذا عساى أقول جزاكم الله خيرا على المساعده وجعلها الله فى ميزان حسناتكم
قمت بتجريب جميع الأمثله ولعل أهم شى لفت أنتباهى هو أن البيانات يتم حذفها من الجداول الرئيسيه ثم من الجدول الذى أتعامل معه ولتوضيح ما أريده شاهد الصوره التاليه
50043untitled.JPG
ولو لاحظتم معى ستجدون أنى أقوم بتصميم برنامج مخازن
أقوم بعرض عملية شراء سلعه (يتم الشراء من مورد مسجل مسبقا+سلعه بياناتها مسجله مسبقا)
وفى حالتى مأأريده هو حذف بيانات الشراء فقط بدون حذف بيانات المورد وبيانات السلعه
والمشكله دى معايه فى أكثر من form فى المشروع نظرا لانى أعتمد على عرض بيانات الموردين والسلع كثيرا
أرجو المساعده ولكم جزيل االشكر

بتاريخ:
  • كاتب الموضوع

أنتهت المشكله وجزاكم الله خيرا
المشكله أنى كنت عامل 3DATABLOCK واحده للصنف والتانيه للموردين والثالثه للمشتريات
ولم أكن أتعامل سوى مع المشتريات والأخرين للعرض فقط وكمان كنت حاطاهم فى فورم
واحده
وكان الحل بكل بساطه
أنى أعمل DATABLOCK واحده للى عاوز أضيف وأسجل فيه وهو المشتريات أما بيانات الصنف والمورد يتم عرضها عن طريق
DISPLAY_ITEM
وبالطريقه دى يكون الحذف للبلوك الخاص بالمشتريات دون النظر للصنف والموردين
أسف علشان وجعت دماغكم معايه بس أنا لسه مخلص كورس أوراكل وبحاول انفذ اللى أتعلمته عن طريق تصميم مشاريع
وفيه حاجات كتير مبعرفش أعملها
جزاكم الله خيرا على مساعدتى
وجعلها الله فى ميزان حسناتكم

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.