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

Erorr In Merge Query

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته
انا عملت جدول اسمه employees بنفس هيكل emp تمام على المستخدم scott
ودخلت فيه بيانات ولما اجيت اعمل merge بين الجدولين ظهرتلي المشكله دي
ORA-38104: Columns referenced in the ON Clause cannot be updated: "M"."EMPNO"
مع اني راجعت الكود اكتر من مره ومتاكده من صحته
بس مش عارفه ايه المشكله
وده الكود

merge into employees m using emp e
on (m.empno=e.empno)
when matched then 
update set empno=e.empno,ename=e.ename,job=e.job,mgr=e.mgr,hiredate=e.hiredate,sal=e.sal,co
mm=e.comm,deptno=e.deptno
when not matched then 
insert(empno,ename,job,mgr,hiredate,sal,comm,deptno)
values(e.empno,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm,e.deptno);


وجزاكم الله خيرا

بتاريخ:

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

الخطأ هنا إن انتى المفروض فى الـupdate ماتعمليش update للـprimary key لأنه موجود بالفعل .
يعنى when matched معناها إذا تساوى الـprimary key مع الـprimary key إذاً الـحقهةشقغ نثغ موجود فى الجدولين .
إذاً لا يصح إن انا أضيف هذا العمود وهو الـempno معايا فى الـupdate .

يبقى الكود هيبقى كده

merge into employees m
using emp e on (m.empno=e.empno)
when matched then update set 
ename=e.ename,
job=e.job,mgr=e.mgr,hiredate=e.hiredate,
sal=e.sal,comm=e.comm,deptno=e.deptno
when not matched then insert(empno,ename,job,mgr,hiredate,sal,comm,deptno) values
(e.empno,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm,e.deptno)

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

جزاك الله خيرا
فعلا كده ودلوقتي ضبطتي معايا

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

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

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

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

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

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.