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

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

صورة
- - - - -

كيف يمكن دمج حقلين أو أكثر في حقل واحد


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

#1 alsu_wh

alsu_wh

    عضو

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

تاريخ المشاركة 11 January 2005 - 05:31 PM

ياجماعة عندي سؤال محيرني وحاولت مرارا وتكرار لكن بدون فائدة :rolleyes: :D .
مثلا اذا كان لدينا TABLE1 ويحوي حقول A,B ولدينا TABLE2 يحوي الحقل N كيف يمكن نقل محتوى الحقلين A,B من TABLE1 الى الحقل N في الجدول TABLE2 بواسطة INSERT STATEMENT
وان شاء الله ان السؤال واضح واللي يعرف لايبخل علينا ياشباب وتقبلوا تحياتي

#2 Amgad

Amgad

    مشرف عام ومشرف قسم تحليل النظم

  • الفريق الإداري
  • 4,559 مشاركة
  • الاسم الأول:امجد
  • اسم العائلة:حلمي
  • البـلـد: Country Flag
  • المنصب الحالي:Business Systems Analyst at al Fanar Co. Riyadh KSA

تاريخ المشاركة 11 January 2005 - 08:11 PM

السلام عليكم ،،

لتنفيذ الامر المطلوب
انشأ جدول تجريبي كالاتي فى scott نسخه من جدول الdept

create table dept_new as select * from dept where deptno =888;

alter table dept_new modify dname varchar2(30);

المهم .. جرب هذا الأمر ..
insert into dept_new (deptno , dname ) select deptno , dname||','||loc   from dept ;

SQL>  select DEPTNO, DNAME         from dept_new ;

DEPTNO DNAME
---------- ------------------------------
10 ACCOUNTING,NEW YORK
20 RESEARCH,DALLAS 30 SALES,CHICAGO
40 OPERATIONS,BOSTON

تم التعديل بواسطة Amgad, 11 January 2005 - 10:34 PM.

لا إله إلا الله الحليم الكريم
لا اله إلا الله العلى العظيم
لا اله إلا الله رب السماوات السبع و رب العرش العظيم
‏اللهم ارزقني قبل الموت توبة وعند الموت شهادة وبعد الموت جنة
اللهم ارزقني حسن الخاتمة
اللهم هون علينا سكرات الموت ... ونور علينا قبورنا
اللهم ارزقني الموت وأنا ساجد لك يا ارحم الراحمين
اللهم ثبتني عند سؤال الملكين
اللهم اجعل قبري روضة من رياض الجنة ولا تجعله حفرة من حفر النار
اللهم اني اعوذ بك من فتن الدنيا
اللهم ارحم ابائنا وامهاتنا واغفر لهما وتجاوز عن سيئاتهما وادخلهم فسيح جناتك ... والحقنا بهما يا رب العالمين
اللهم ارحم موتانا وموتى المسلمين واشفي مرضانا ومرضى المسلمين
اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الأحياء منهم والأموات
وبارك اللهم على سيدنا محمد صلى الله عليه وسلم
اللهم آمين ... اللهم آمين ... اللهم آمين


....


#3 Osama Soliman

Osama Soliman

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,611 مشاركة
  • الاسم الأول:Osama
  • اسم العائلة:Soliman
  • البـلـد: Country Flag
  • المنصب الحالي:Oracle Technical Consultant - Asfour Crystal International

تاريخ المشاركة 11 January 2005 - 11:56 PM

اجملت واحسن اخ امجد
ولى اضافة
لعمل جدول من جدول اخر بدون نسخ البيانات يمكن كتابة الامر كما يلى
create table his_emp as select * from emp where 1=2
فهذا الشركة لن تتحقق ابداً وبذلك يتم انشاء الجدول دون نسخ اى بيانات فيه
مع تحياتى

وقل رب زدنى علماً
Osama M. Soliman
Oracle Certified Professional
Oracle Technical Consultant

 Asfour Crystal International
Cairo - Egypt
Osama.Soliman@hotmail.com
Osama.Soliman@asfourcystal.com


#4 igb_igsb

igb_igsb

    مشترك

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

تاريخ المشاركة 12 January 2005 - 12:03 AM

زيادة على رد زميلنا السابق تستطيع أن تستخدم الكود التالي
set serveroutput on ;
declare
cursor c1 is select a||b from emp; vn table1.n%type;
begin open c1;
loop
fetch c1 into vn; insert into table1 values (vn);
exit when c1%notfound;
close c1;
commit;
end loop;
end;
/
[sql]
[sql]
أرجو أن أكون قد أوضحت المطلوب
:D :rolleyes:
لا إله إلا الله محمد رسول اللهigb_igsb@hotmail.com

#5 salama11433

salama11433

    عضو نشط

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

تاريخ المشاركة 12 January 2005 - 01:47 AM

هذا المثال منقول من كتب اوراكل

Example of Merging Rows

MERGE INTO copy_emp c
USING employees e
ON (c.employee_id = e.employee_id)
WHEN MATCHED THEN
UPDATE SET
c.first_name = e.first_name,
c.last_name = e.last_name,
c.email = e.email,
c.phone_number = e.phone_number,
c.hire_date = e.hire_date,
c.job_id = e.job_id,
c.salary = e.salary,
c.commission_pct = e.commission_pct,
c.manager_id = e.manager_id,
c.department_id = e.department_id
WHEN NOT MATCHED THEN
INSERT VALUES(e.employee_id, e.first_name, e.last_name,
e.email, e.phone_number, e.hire_date, e.job_id,
e.salary, e.commission_pct, e.manager_id,
e.department_id);


Merging Rows


تم التعديل بواسطة salama11433, 12 January 2005 - 01:48 AM.

لا تبكى على ماضى لا يعود
salama ayad
samy32@msn.com
semsem11433@yahoo.com
Egypt - cairo

#6 alsu_wh

alsu_wh

    عضو

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

تاريخ المشاركة 12 January 2005 - 10:20 AM

أولا اشكركم جميعا على سرعة تجاوبكم،والحمد لله جربت طريقة الأخ Amgad ونجحت 100%