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

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


koky9i

Recommended Posts

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

اولاً : لنقل بيانات جدول الى جدول اخر
بفرض ان لدينا جدول يسمى 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
رابط هذا التعليق
شارك

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

copy from scott/tiger@route to   scott/tiger@route  append dest using select * from src


بالتوفيق

رابط هذا التعليق
شارك

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

ممكن نستخدم حاجة اسمها 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
-*-*-*-*-*-*
من مميزات هذا الكود انه لو تم تحديث اي بيانات في الجدول الأساسي وتم تنفيذه مرة اخري سيأخد التحديث فقط
-*-*-*-*-*
خالص تحياتي
اني أحبكم في الله

رابط هذا التعليق
شارك

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

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية