إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

اريد تحديث بعض البيانات من الجدول الثاني ببيانات من الجدول الاول


7 رد (ردود) على هذا الموضوع

#1 Yousef_Elkordi

Yousef_Elkordi

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 13 May 2009 - 12:23 AM

السلام عليكم

اخواني .. لدي DB بهال 2 tabels الجدول الاول فية بيانات العملاء و ارقامهم .. وقمت بإستخراج كمية من البيانات من الجدول الاول ( 50 اسم ) .. عن طريق كويري .. و لم احفظها باي جدول جديد

ولدي الجدول الثاني فية ايضا بيانات العملاء و ارقامهم ...
الان المشكلة اني اريد ان اعدل بيانات الجدول الثاني ...اي ان اقوم بعمل update لبيانات الجدول الثاني .. على حسب الناتج من الجدول الاول

فارجو الاجابة باسرع وقت ممكن
ولكم جزيل الشكر

#2 Yousef_Elkordi

Yousef_Elkordi

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 13 May 2009 - 01:19 AM

للتوضيح ... انا لا اريد ان اعمل دليت لاي شي من البيانات من الجدول الثاني .. انا اريد تحديث بعض البيانات من الجدول الثاني ببيانات من الجدول الاول
مثال :

table 1
----------------------------------------------------------------
cust_code - cust name - loc
----------------------------------------------------------------
c200 - Salim - Egypt
c400 - Marwan - UK
c600 - Yousef - USA
c500 - Ali - Amman

و الجدول الثاني فية نفس الحقول بس فيهم كمان شوي زيادات .. مثل العمر و العمل و هكذا
و بعض البيانات مختلفة .

table 2
---------------------------------------------------------------------------------
cust_code - Age - cust name - loc
---------------------------------------------------------------------------------
c200 - 22 - Salim - Egypt
c400 - 25 - Marwan - Yaman
c600 - 35 - Yousef - Kuwait
c500 - 30 - Ali - Amman

لان لو تلاحظو ... الاسمين yousef و marwan بالجدول الاول فيهم ال location مختلف عن بعض ....

الان .. انا قمت بكتابة كويري ... قمت عن طريقها باخراج البيانات المختلفة من الجدول الاول ... و اريد فقط تبديل هذة البيانات المختلفة من الجدول الاول .. بالجدول الثاني .. فما هو الحل ...!!!

#3 mustafagamiel

mustafagamiel

    مشرف قسم النماذج والمشاريع

  • فريق الإشراف
  • 2,095 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 May 2009 - 01:59 AM

أخي الكريم
السلام عليكم ورحمة الله وبركاته
قرأت لك المشاركة السابقة في منتدى ال pl/sql
وتريد عملها بدون كود pl/sql
راجع merge statement
وحاول تستخدمها مادمت لاتريد استخدام ال pl/sql code

اللهم إن كان رزقي في الســــــــــماء فأنزله
وإن كان في الأرض فأخرجـه
وإن كان بعيدا فقربه وإن كان قريبا فيسره
وإن كان قليلا فكثره وإن كان كثيرا فبارك لي فيه

اللـــهم آمين
لا إله إلا الله وحده لاشريك له- له الملك وله الحمد وهو على كل شيء قدير
لا إله إلا أنت سبحانك-- إني كنت من الظالمين






#4 Yousef_Elkordi

Yousef_Elkordi

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 13 May 2009 - 09:28 AM

اخي العزيز .. استخدمت الكود التالي ... ولكني اواجة مشكلة فية

update OM_CUSTOMER_BACKUP set CUST_FLEX_03 = (select SHO_SHOWROOMNO from OM_CUSTOMER_REP where OM_CUSTOMER_BACKUP.CUST_CODE = OM_CUSTOMER_REP.OCST_CUST_CODE and OM_CUSTOMER_BACKUP.CUST_FLEX_03 is not null)
where CUST_CODE in (select OM_CUSTOMER_REP.OCST_CUST_CODE from OM_CUSTOMER_REP where OM_CUSTOMER_BACKUP.CUST_FLEX_03 is not null )


المشكلة هي انو بالجملة
CUST_FLEX_03 = (select SHO_SHOWROOMNO from OM_CUSTOMER_REP where OM_CUSTOMER_BACKUP.CUST_CODE = OM_CUSTOMER_REP.OCST_CUST_CODE and OM_CUSTOMER_BACKUP.CUST_FLEX_03 is not null


ال SELECT ترجع اكثر ريكورد ... فيعطيني خطأ
فما الحل ؟

#5 weloooo

weloooo

    مشرف

  • فريق الإشراف
  • 249 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 13 May 2009 - 10:45 AM

السلام عليكم.

كما قال أخي مصطفى هذا يمكن عمله من خلال إستخدام Marge . راجع هذا الرابط.

http://www.dbapool.c...les/011007.html

أحمد يحيى


Oracle Apps Senior Technical Consultant


#6 Yousef_Elkordi

Yousef_Elkordi

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 13 May 2009 - 11:39 AM

اخي العزيز ... للاسف .. لم استطع الاستفادة من الرابط ..:)

الرجاء إذا كان بالامكان اخباري ما الخطأ بالكود الذي كتبة؟؟
او مساعدتي باي شكل ممكن ؟

#7 Yousef_Elkordi

Yousef_Elkordi

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 13 May 2009 - 07:12 PM

السلام عليكم .. جربت الجملة الاتية ..

merge into table_dest d
using
table_source s on (s.id = d.id)
when matched then update set d.txt = s.txt
when not matched then insert (id, txt) values (s.id, s.txt);
select * from table_dest; ID TXT


ولكن هناك مشكلة بال when ??
يعترض عليها ال sql
اعتقد لانها pl sql
?
وشكرا لكم كل الشكر

تم التعديل بواسطة Yousef_Elkordi, 13 May 2009 - 07:18 PM.


#8 Yousef_Elkordi

Yousef_Elkordi

    عضو

  • الأعضــاء
  • 20 مشاركة

تاريخ المشاركة 14 May 2009 - 12:13 AM

للعلم .. عند تنفيذ ال كوير السابقة على ال sql تظهر لي اعتراض على ال when

فهل من حل ؟؟؟؟ !!!!!!!!

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