بتاريخ: 14 مايو 201015 سنة comment_191864 السلام عليكم ورحمة الله وبركاته :يمكنك تحديث بيانات عمود من جدول حسب بيانات عمود من جدول آخر وذلك حسب المثال التالي : 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 returnsmore than one row2- في لاحظ أنة في هذا التحديث سيتم على جميع البيانات الموجودة في جدول 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 في الجملة السابقة.أتمنى ان اكون قد وفقت في الشرح وأضفت لكم شيئ جديدأخوكم : م. نائل تقديم بلاغ
بتاريخ: 20 مايو 201015 سنة comment_192403 يعطيك ربي الف الف الف عافيهوربي روعه ويارب ماننحرم من ابداعاتك تقديم بلاغ
بتاريخ: 20 مايو 201015 سنة comment_192408 بارك الله فيك م/نائل...نتمنى ان نرى المزيد من مشاركاتك المفيدة.. تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.