nora2006 بتاريخ: 28 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 28 ديسمبر 2007 مساء الخيرانا مش عارفة اعمل جملة انسرت INSERT محددة بمعنى ؛ فرضا جدول EMP به حقول منها مثلا ENAME وعندى جدول تاني مثلا اسمه EMP_2 وبهذا الجدول نفس الحقول الموجودة فى الجدول الاول ولدى سؤالين الاول :اريد نسخ البيانات الموجودة بحقل ENAME من جدول EMP الى الجدول الاخر وهو EMP_2 داخل حقل ENAME ايضا وعندما حاولت الادخال بالطريقة التالية INSERT INTO EMP_2(ENAME) VALUES (SELECT ENAME FROM EMP ) ; ولكن للاسف مش عارفة اوصل لحل ؟؟؟؟؟؟؟؟؟السؤال الثاني : الجدول EMP_2 به حقل EMPNO وهو PRIMARY KEY اى لا يمكن ان يكون خالي وعندما احاول ادخال اى قيم داخل حقل ENAME يرفض وذلك لانه يجب ادخال قيم مماثلة فى EMPNO وانا اريد انا ادخل القيم الموجود فى جدول EMP.ENAME الى جدول EMP_2.ENAME فقط فما الحل ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟اسفة اذا كنت طولت عليكم بس فعلا مش عارفة اوصل لحل ارجوا مساعدتكم .وميرسي ليكم مقدما اختكمنورا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبداللطيف بتاريخ: 28 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 28 ديسمبر 2007 السؤال الاولINSERT INTO EMP_2(ENAME) SELECT ENAME FROM EMPالسؤال الثاني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nora2006 بتاريخ: 28 ديسمبر 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 ديسمبر 2007 اولا ميرسي ليك جدا يا استاذ عبد اللطيف على اهتمامك وفعلا عملية INSERT على جدول ليس به اى قيود سليمة ؛ ولكن لازال هناك مشكلة وهي انه عندما يتم عملية INSERT تظهر هذه الرسالة التالية ORA-01400: cannot insert NULL into "SCOTT"."EMP_2"."EMPNO"وذلك لان حقل EMPNO برمري كي PRIMARY KEY ؛ فما الحل لتفادي البريمرى والقيام بعملية الادخال مرة واحدةميرسي ليك مرة تانية وارجوا ان اجدا الحل لديكماختكم نورا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
ya_ro2005 بتاريخ: 28 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 28 ديسمبر 2007 اختي الكريمة ادا كنتي تريدين نسخ عمود الاسم من جدول EMP ببياناته الي الجدول EMP_2 فالافضلكتابة CREATE TABLE EMP_2 AS SELECT ENAME FROM EMPاما الجملة التي كتبتها فاعتقد بوجد فيها مشكلة اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nora2006 بتاريخ: 28 ديسمبر 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 28 ديسمبر 2007 مرسي على ردك ولكن لا اريد نسخ عامود ولكنى اريد نقل بيانات من عامود الى عامود ؛ اوامر الانشاء انا عارفها بس انا عايزة انقل قيم وليس انشاء عامودمرة تانية مرسي ليكنورا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
بو حضرم بتاريخ: 29 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2007 اولا هذا الشي مش منطقي وهو في الاساس غير معمول به ولكن عالعموم هو سؤال جيد ويحتاج فكره بسيطه وراح اطرح حل اتمنى انه يكون صح لأني بصراحه ماجربته لسى لذلك اذا لم يكن الطلوب فاعذرني و هو كالتالي:1- مثل ماطرحوا الاخوه السابقين insert into emp_2 (empno , ename ) value (select empno,ename from emp)2-بعد عملية الادخال تعمل عملية disable لل constrain تبع جدولemp_2لانه لو حاولت تحذف البرايمري فهو مرتبط بconstraint بجدول اخر عن طريق foriegn keyALTER TABLE emp_2disable CONSTRAINT constraint_name;اوALTER TABLE emp_2drop CONSTRAINT constraint_name;وذلك لعدم منطقية وجود ذلك constraint بعد الان اساسا3-تحذف empno من جدول emp_2ويظل وجود ename مثل ماهو عليه اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
عبداللطيف بتاريخ: 29 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2007 اختي الكريماعتذر لوجود مشكلة في جهازي لما استطيع ان اجيب على السؤال الثانيالسؤال الاولالسؤال الاولINSERT INTO EMP_2(ENAME) SELECT ENAME FROM EMPالسؤال الثاني ممكن ان تضعي ترقيع تلقائي في حقل في emp_2 عند طريق انشاء squenceممكن ان تستفيدي من هذا الرابط اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
amr fawzy بتاريخ: 29 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2007 السلام عليكم ورحمه الله وبركاتهياخى عبد اللطيف جزاكم الله خير على ردودك الجميله دائما واحب ان ابلغ حضرتك ان الرابط غير موجود اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sameh bakkar بتاريخ: 29 ديسمبر 2007 تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2007 بسم الله الرحمن الرحيمالأجابه من كتاب اوراكل نفسه بالفصل الثامن تحت موضوع :Copying Rows from Another TableDo not use the VALUES clause.Match the number of columns in the INSERT clause to those in the subquery.مثال: INSERT INTO sales_reps(id, name, salary, commission_pct) SELECT employee_id, last_name, salary, commission_pct FROM employees WHERE job_id LIKE '%REP%';4 rows created. و بالتوفيق ،، اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
nora2006 بتاريخ: 29 ديسمبر 2007 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 29 ديسمبر 2007 اولا ميرسى ليكم كلكم لانى بصراحة مكنتش متخيلة ان حد يرد عليا بسرعة ؛ فجزاكم الله كل خير بالنسبة للرابط يا استاذ عبد اللطيف فهو غير موجود ؛ بالضافة الي انى غير محتاجة لعملية ترقيم الي انا محتاج نقل قيم من عامود الى عامود ارجوا ان تكون وصل لك مقصدي .اما عن ايقاف القيد فقد يكون صحيح لحل المشكلة ؛ ولكن اليس هناك حالة او اسلوب لتفادي هذا الامر ؟اما استاذ سامح بكار فالحل الذى ارسلته صحيح ولكن فى حالة عدم وجود قيد فانا لدى جدولين بكل واحد منهم حقلين فمثلا emp_1 وبه ename , empno ونفس الامر فى جدول emp_2 به ename , empno وفى الجدولين empno هو بريمرى كي primary key ؛ والمشكلة هي انى اريد نقل البيانات او اسماء الموظفين من حقل ename الموجود فى emp_1 وارسالها الى حقل ename الموجود فى emp_2 ؛ فلو ان الجدول emp_2 ليس به قيد بريمرى كي ما كان هناك مشكلة وكنت هنقل البيانات بنفس طريقتك يا استاذ سامح ؛ لكن وجود القيد مش مخلينى عارفة انقل اى بيانات .ارجوا ان اكون قدرت اوصلك السؤال .مرة تانية مرسي ليكم جميعا على تفاعلكم معايا اختكمنورا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.