nael14 بتاريخ: 14 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 14 مايو 2010 السلام عليكم ورحمة الله وبركاته :يمكنك تحديث بيانات عمود من جدول حسب بيانات عمود من جدول آخر وذلك حسب المثال التالي : 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 في الجملة السابقة.أتمنى ان اكون قد وفقت في الشرح وأضفت لكم شيئ جديدأخوكم : م. نائل 1 اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
فــادي بتاريخ: 20 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 20 مايو 2010 يعطيك ربي الف الف الف عافيهوربي روعه ويارب ماننحرم من ابداعاتك اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Ahmad.Hasan بتاريخ: 20 مايو 2010 تقديم بلاغ مشاركة بتاريخ: 20 مايو 2010 بارك الله فيك م/نائل...نتمنى ان نرى المزيد من مشاركاتك المفيدة.. اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.