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

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

صورة
- - - - -

كيفية نقل البيانات


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

#1 koky9i

koky9i

    مشترك

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

تاريخ المشاركة 03 May 2005 - 09:51 AM

كيف نقل البيانات فقط من جدول الي اخر او من عمود الي اخر

#2 mohd_sayed_mohd

mohd_sayed_mohd

    عضو نشط

  • الأعضــاء
  • 247 مشاركة
  • الاسم الأول:Mohamed
  • اسم العائلة:Elsayed
  • البـلـد: Country Flag

تاريخ المشاركة 03 May 2005 - 10:34 AM

السلام عليكم ورحمة الله وبركاته،،
insert into table2 (col1,col2,col3,...) select col1,col2,col3,... from table1;

update table1 set col2=col1;
لا إله إلا الله ، محمد رسول الله

#3 Osama Soliman

Osama Soliman

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

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

تاريخ المشاركة 04 May 2005 - 03:08 AM

اخى الكريم /
السلام عليكم ورحمة الله وبركاته

اولاً : لنقل بيانات جدول الى جدول اخر
بفرض ان لدينا جدول يسمى Employees وبه الحقول
employee_id, last_name, first_name, salary, hire_date, email

ويوجد جدول Hist_emp وبه الحقول
emp_no, l_name, f_name, sal, start_date,mail

ونريد ادخال البيانات من الجدول الاول employees الى الجدول الثانى hist_emp
بالكامل فيمكن استخدام الجملة التالية

Insert into hist_emp select (*) from employees

أو البديل التفاصيلى

Insert into hist_emp (emp_no, l_name, f_name, sal, start_date,mail)
select employee_id, last_name, first_name, salary, hire_date, email
from Employees


ويمكنك ايضاً اخى الكريم ان تاخذ حقول بعينها للادخال فى الجدول

Insert into hist_emp (emp_no, l_name)
select employee_id, last_name from employees


ولكن يجب الا يكون فى الحقول غير المختارة حقول واجبة الادخال يعنى عليها قيد not null

ثانياً :
نقل البيانات من عمود الى اخر :
اذا كان العمودين فى نفس الجدول فيمكن استخدام جملة Update
مثال : بفرض وجود الجدول payroll وبه الحقول
employee_id,salary, tax,new_tax
ونريد نقل (او نسخ) البيانات من العمود tax الى new_tax فيمكن استخدام الجدول

Update payroll set new_tax = tax


مع تحياتى
اسامه سليمان
القاهرة

تم التعديل بواسطة Osama Soliman, 04 May 2005 - 03:16 AM.

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

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


#4 هانى سند

هانى سند

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

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 04 May 2005 - 11:28 AM

ممكن ايضا استخدام الامر كوبي و هو من اوامر السكول بلس
و مفيد في حالة نقل البيانات بين اكتر من داتا بيز يعني داتا موجودة في داتا بيز و بتنقلها لداتابيز تانية
copy from scott/tiger@route to   scott/tiger@route  append dest using select * from src

بالتوفيق

#5 the_oracle_dev

the_oracle_dev

    عضو نشط

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

تاريخ المشاركة 04 May 2005 - 07:25 PM

بسم الله الرحمن الرحيم
اسمحولي يا جماعة اضيف معلومة بسيطة وسط هذا الكم الهائل من المعلومات

ممكن نستخدم حاجة اسمها MERGE
ويقوم بأخذ نسخة من الجدول الاول (البيانات الموجودة) الي الجدول الثاني

ولعمل MERGE


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.salary = e.salary
when not matched then
insert values (e.employee_id, e.first_name, e.last_name,e.salary);


بالكود السابق اكون قد أنشأت MERGE ونفذته ليقوم بأخد البيانات الموجودة من الجدول employees الي الجدول copy_emp
-*-*-*-*-*-*
من مميزات هذا الكود انه لو تم تحديث اي بيانات في الجدول الأساسي وتم تنفيذه مرة اخري سيأخد التحديث فقط
-*-*-*-*-*
خالص تحياتي
اني أحبكم في الله
بسم الله الرحمن الرحيم

قل لو كان البحر مداداً لكلمات ربي لنفد البحر قبل ان تنفذ كلمات ربي ولو جئنا بمثله مددا

صدق الله العظيم

#6 هانى سند

هانى سند

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

  • المجموعة الماسية
  • 743 مشاركة

تاريخ المشاركة 05 May 2005 - 11:05 AM

مشكور أخ the_oracle_dev علي الاضافة القيمة
بس merge لم تكن موجودة في الا في قاعدة البيانات ال 9 اي و لسة في ناس بتستخدم ال 8 اي و ما قبله :D
و مشكور علي اضافتك الجميلة
بانتظار المزيد
بالتوفيق