الانتقال إلى المحتوى
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

بتاريخ:

السلام وعليكم

عندي فورم يحتوي على الجدول A
وهذا الجدول به برايمري كي

وهو فورن كي في جدول اخر B

اذا قمت بالحذف احصل على رسالة خط ( ORA-02292 Error)
والسبب محاولتي لحذف ماستر (بيرنت)مع وجود تشايلد

وعملية الحذف غير ممكنه الا اذا غيرت خاصية الريليشن DELETE RECORD BEHAVIOR
الى CASCADING

لكن انا لم اعمل ريليشن بين الجدولين
وضعت في زر الحذف
DELETE FROM BWHERE ....
DELETE FROM B WHERE...
COMMIT FORM;

لكن هذا اعطاني رسالة خطأ بسبب محاولتي اجراء عمليتين في وقت واحد

تم تعديل بواسطة fyk

بتاريخ:


السلام عليكم

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

(Cascade - set null) مثلا..

أو تقوم بالحذف يدويا عن طريق الفورم ولكن ان تقوم بالحفظ مثلا

Delete from detail_table where .....

commit

delete from master_table ........
commit

جرب وقولنا ايه النتيجة

بالتوفيق

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

اشكرك اخي على التوضيح

لكن العلاقه ليست بين جدولين فقط في الداتابيز..وانا لم اقم اصلا باي عملية ربط بين ماستر وديتيل في الفورم

سوف اطرح محتوى الجداول المرتبطه وهي اربع :
VENDOR
-----------
VENDOR_ID
NAME
COUNTRY
ADDRESS
PHONE#
FAX
EMAIL



ITEM
-----------
ITEM_CODE
ITEM_GROUP
DESCRIPTION
PRICE
COLOR
ITEM_SIZE
IMAGE
SALE_PRICE
VENDOR_ID



ORDER
-----------------------
ORDER_ID
EMPLOYEE#
VENDOR_ID
ORDER_DATE
CREATED_BY
EXPECTED_DILVERY_DATE


ORDER_DETAIL
---------
ORDER_QTY
ITEM_CODE
ORDER_ID

البلوك هنا لايحوي الا على بيانات من جدول الـ VENDOR
لو كتبت في زر الحذف

DELETE FROM ITEM WHERE VENDOR_ID=:BLOCK.VENDOR_ID
COMMIT
DELETE FROM ORDER WHERE VENDOR_ID=:BLOCK.VENDOR_ID
COMMIT

هنا سأتوقف
لانني يفترض ان احذف من جدول ORDER_DETAIL
قبل جدول ORDER لانه ديتيل ولابد من ان يتم الحذف منه اولا
لكنه غير مربوط بالـVENDOR
والبلوك عندي لايحتوي الا على بيانات جدول VENDOR
بمعنى انني لن استطيع تحديدالشرط المناسب في جملة الحذف بالنسبه لجدول ORDER_DETAIL

تم تعديل بواسطة fyk

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

هل من مساعده !!!!

بتاريخ:

السلام عليكم
اولا الحذف من جدول الديتيل
delete order-detail where( item-id in (select item-id from item wher vender-id = :vender-id ;
commit;

delete orders wher vender-id =:vender-id;
commit;

delete item where vender-id. = :vender-id;
commit;

delete vender where vender-id = :vender-id ;
commit;
هذا الكود سيعمل مية مية ان شا الله
ملحوظة
راجع تصميم الجداول لديك

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

اشكرك اخي على المساعده

اسئل الله لك التوفيق

هل لي بمساعده اخرى
عندي خطأ يظهر لي عند اضافة ديتيل للماستر

ORA-01008: not all variables bound

لم افهم سبب الخطأ

وشكرا

تم تعديل بواسطة fyk

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

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

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

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

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

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.