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

خطأ فى تنفيذ كود Merge

Featured Replies

بتاريخ:
create table ddd as select*from departments;



و بعد عمل جدول ال ddd الذى هو نسخة مطابقة لل Departments قمت بعمل ببعض التغير فيه :-

update ddd
set department_id=111
where department_name like'%e%';



و تم تغير 16 صف حيث تحول ال department_id - اللى فى ال 16 صف دول - الى رقم 111

ثم قمت بعمل ال Merge التالية :-

merge into ddd d using departments dd
on (d.department_id=dd.department_id)
when matched then update set
d.DEPARTMENT_ID=dd.DEPARTMENT_ID,
d.DEPARTMENT_NAME=dd.DEPARTMENT_NAME,
d.MANAGER_ID=dd.MANAGER_ID,
d.LOCATION_ID=dd.LOCATION_ID
when not matched then insert values
(dd.DEPARTMENT_ID,dd.DEPARTMENT_NAME,
dd.MANAGER_ID,dd.LOCATION_ID);



فظهر لى هذا الخطأ الذى لا أفهم ما معناه و ما قصده منه :-

on (d.department_id=dd.department_id)
*
ERROR at line 2:
ORA-38104: Columns referenced in the ON Clause cannot be updated:
"D"."DEPARTMENT_ID"



أرجو انا يقول لى أحد ما المشكلة هنا .... و كيفية حلها ...... شكراً و منتظر الرد

بتاريخ:

ما بصير تحط عمود الjoin في جملة ال update لتصبح الجملة كالتالي:

merge into ddd d using departments dd
on (d.department_id=dd.department_id)
when matched then update set
d.DEPARTMENT_NAME=dd.DEPARTMENT_NAME,
d.MANAGER_ID=dd.MANAGER_ID,
d.LOCATION_ID=dd.LOCATION_ID
when not matched then insert values
(dd.DEPARTMENT_ID,dd.DEPARTMENT_NAME,
dd.MANAGER_ID,dd.LOCATION_ID);



انا قمت بحذف الجملة d.DEPARTMENT_ID=dd.DEPARTMENT_ID,
اللي بعد ال update
وبهيك راح تشتغل ان شاء الله

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

بارك الله فيك أخى nhamzehn هذه كنت فعلاً المعضلة ، و ماخدتش بالى منها خالص
شكراً جزيلاً

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

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

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

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

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

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.