الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

نسخ بيانات حقل في جدول الي نفس الحقل في جدول اخر

Featured Replies

بتاريخ:

السلام عليكم
عندي جدولين
يحتوي الجدول الاول(Employee) علي حوالي 5 حقول مختلفة منها :
Emp_No
Emp_name
Emp_Address
Emp_Salary
Emp_Phone

و هذا الجدول بها 2500 سجل يعني بها بيانات كاملة

و يوجد جدول اخر اسمه Employee_Details به الحقول التالية
Emp_No
Emp_Name
ID_Number
Job_name

وهذا الجدول فارغ و عند ملئ بالبيانات سوف نجد انه سوف يكون عدد السجلات حوالي 2500 مثل الجدول الاول

السوؤال الان كيف انسخ بيانات حقل Emp_no و Emp_name في الجدول الاول Employee المملوء الي الجدول الثاني Employee_Details الفارغ
مع العلم انالجدول الاول به 2500 سجل كما سبق ذكره بيانات ارقام الموظفين و اسماء الموظفين كاملا)
و الجدول ليس فيه اي بيانات

و هل هناك فرق اذا كان الجدول الثاني فيه بعض البيانات ام لا؟

ارجو المساعدة ان امكن
تحياتي

بتاريخ:

أولا أخي هذا السؤال مكانه منتدى ال sql
التخصص مطلوب

ثانيا تركيب الجدول الثاني فيه خطأ يجب أن لا يحتوي على اسم الموظف وهذه تسمى
normalization

ثالثا اذا كانت بقية الأعمدة تقبل null value يمكنك

insert into employee_detail
select emp_no,emp_name,null,null
from employee

أم ولا وأعتقد أن employee_id جزء من primary key
اذن الجملة تكون بالشكل الاتي


insert into employee_detail
select emp_no,emp_name,rownum,null
from employee
هذا على افتراض ال id من عندي ان رقم متسلسل

بتاريخ:
  • كاتب الموضوع

نعم اخي بالنسبة لكلامك على Normalization
انا فقط اردت معرفة اذا كان عندي حقل ملئ بالبيانات في جدول ما و عندي جدول جديد بتصميم جديد و لكن به جدول به نفس المواصفات فكيف انقل تلك البيانات من الجدول القديم الى الجدول الجديد

المشكلة ببساطة عندي نظام قديم به جداول متعددة و حصلنا على نظام جديد به جداول و لكن مختلفة من ناحية التصميم و لكن بالطبع يوجد حقول بنقس المواصفات
فمثلا عندي في النظام القديم جدول البيانات الاساسية للموظفين و به حقل اسم الموظف
و عندي في النظام الجديد جدول البيانات الاساسية للموظفين و به حقل اسمه اسم الموظف
فاريد افراغ بيانات حقل(اسم الموظف) بالجدول القديم في حقل (اسم الموظف) بالجدول الجديد

الهدف هو توفير عملية ادخال بيانات مرة ثانية فلماذا نجعل مدخلي البيانات ادخال هذه البيانا ت مرة اخرى مع العلم انها قد تم ادخالها مرة سابقة
اذن بجملة استعلام ما ممكن فعل ذلك

لذا انت لحظت انت وضعت اسم الموظف مرتين
مرة في الجدول employee و employee_details
ممكن نسميه بدل هذا الاسم الغير مناسب لك بـ
Old_employee و New_employee

تحياتي

بتاريخ:

الاخ Wise
كلامك واضح 100% ولكن يا اخي انت لم توضح بالبداية انه عندك جدول قديم وجدول جديد على نظامين مختلفين واي شخص يقرأ سؤال بالبداية يرى انه لاحاجة لوجود اسم الموظف مرتين طالما استطيع ان احضره حين العرض ولكن في توضيحك الثاني تبين السبب والهدف من هذا التوزيع لذلك ارجو ان توضح وتشرح المشكلة بالشكل الذي شرحته في المرة الثانية ودون الحاجة الى تشتتيت الافكار وليسهل علينا مساعدتك ومساعدة غيرك ممن له نفس المشكلة

وبالتوفيق

بتاريخ:

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

إضافة سجلات جديدة لجدول عن طريق نسخها من عدة جداول

نقوم بإنشاء جدول جديد اسمه Bigorders ويحتوي علي الأعمدة التالية

amount   :  order amount ( from orders table )  ( key   cust , key   rep ) 
company :  customer name ( from customers table ) ( key   cust_num )
name       :  salesperson name ( from salesreps table ) ( key   empl_num )
perf         :  amount over / under quota ( calculated from salesreps )
mfr          :  manufacturer ID ( from orders )
product   :  product ID ( from orders )
qty           :  quantity ordered (from orders )

insert   into   bigorders ( amount , company , name ,         perf            , product , mfr , qty )
                     select           amount , company , name , ( sales - quota ) , product , mfr , qty 
                     from    orders , customers , salesreps 
                     where   cust = cust_num   and   rep = empl_num   and   amount > 15000  ;



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

بتاريخ:
  • كاتب الموضوع

شكرا اخي على تعليقك و لكني خفت ان لا تفهموا الموضوع و كذلك اردت ان اسأل عن استعلام عام بحيث اي من يريد قرات الموضوع يستفيد منه و ليس انا فقط فحاولت اجعل الموضع عام قدر الاستطاعة اما اذا كنت اردت معرفة حل المشكلة بدون تعب كنت وضعت لكم جدول يحتوي على حوالي اكثر 20 حقل وربما اكثر حيث انها قاعدة بيانات احدى المصانع

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

بتاريخ:

الاخ / Wise

يمكنك استخدام ال cursors
والقراءه من جدول او اكثر حسب الشروط التى تريدها
ثم استخدام اوامر الInsert للكتابه فى الجدول الجديد أو التعديل updateاذا كان السجل موجود من قبل .
استخدام الcursor سيساعدك كثير للتحكم فى نقل البيانات بالطريقه التى تريدها
مع امكانية تخزين السجلات المرفوضة مثلا فى جداول اخرى مؤقته

وهذا يكون من خلال الtriggers داخل ال form

مجرد فكرة للمشاركة بالحل

بتاريخ:
  • كاتب الموضوع

جزيت عني خيرا اخي Amgad
و لكن للاسف لم اتعمق في الاوراكل لهذه الدرجة حيث اني متبدأ لذا طلبت جملة استعلام sql او sql/pl حتى انتهي من دارستي للبرنامج كاملا
ربنا يكرمك و يزيدك علما

بتاريخ:

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

SQL> help copy
COPY
----
Copies data from a query to a table in the same or another
database. COPY supports CHAR, DATE, LONG, NUMBER and VARCHAR2.

COPY {FROM database | TO database | FROM database TO database}
          {APPEND|CREATE|INSERT|REPLACE} destination_table
          [(column, column, column, ...)] USING query

where database has the following syntax:
username[/password]@connect_identifier

SQL> copy from scott/1@orcl to scott/1@orcl create em (a ,  using select empno , ename from emp

بتاريخ:
  • كاتب الموضوع

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

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.