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

تحديث بيانات جدول من جدول آخر بجملة Select واحدة

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله وبركاته :
يمكنك تحديث بيانات عمود من جدول حسب بيانات عمود من جدول آخر وذلك حسب المثال التالي :

  update schema.person p
   set    p.first_name =
   (select n.first_name
    from   schema.name n
    where  n.fcn = p.fcn)



في المثال السابق,عمود FIRST_NAME في جدول Person تم تحديثة حسب بيانات FIRST_NAME من جدول آخر حسب الشرط الموجود في جملة الWHERE.

لكن يجب الملاحظة انة في حال استرجاع اكثر من صف يظهر الخطأ التالي :
ORA-01427: single-row subquery returns
more than one row

2- في لاحظ أنة في هذا التحديث سيتم على جميع البيانات الموجودة في جدول schema.person وفي حال عدم تحقق الشرط في WHERE
يتم تحديث القيمة في FIRST_NAME بNULL .

ولتجنب ذلك:


 update schema.person p
   set    p.first_name =
   (select n.first_name
    from   schema.name n
    where  n.fcn = p.fcn)
   where  exists
   (select n.first_name
    from   schema.name n
    where  n.fcn = p.fcn)


وبتالي يتم تحديث السجلات في حال وجودها في الجدول الآخر فقط

لمستخمي قاعدة بيانات 10g
يمكن الاستغناء عن الجملة السابقة

   merge into schema.person p
   using      schema.name   n
   on        (n.fcn = p.fcn)
   when matched then
   update set p.first_name =
              n.first_name


حيث تقوم بعمل الEXISTS في الجملة السابقة.

أتمنى ان اكون قد وفقت في الشرح وأضفت لكم شيئ جديد
أخوكم : م. نائل

بتاريخ:

يعطيك ربي الف الف الف عافيه

وربي روعه ويارب ماننحرم من ابداعاتك

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

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

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

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

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

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.