mohamed_abdelsalam بتاريخ: 5 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 5 أغسطس 2008 الكود INSERT ALL INTO special_sal VALUES (employee_id, salary) INTO sal_histrory (employee_id, salary, hire_date) INTO mgr_history (employee_id, manager_id, salary) SELECT employee_id, manager_id, salary, hire_date FROM employees WHERE employee_id < 125 AND salary > 20000; ======================================================== into sal_histrory (employee_id,salary,hire_date) *ERROR at line 4: ORA-00913: too many values انا بشوف الأعضاء بيكتبوا الكود بشكل معين (في editor) ممكن اخباري كيف ؟ اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
هجرس بتاريخ: 5 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 5 أغسطس 2008 (معدل) ORA-00913: too many values Cause: The SQL statement requires two sets of values equal in number. This error occurs when the second set contains more items than the first set. For example, the subquery in a WHERE or HAVING clause may return too many columns, or a VALUES or SELECT clause may return more columns than are listed in the INSERT. Action: Check the number of items in each set and change the SQL statement to make them equal. ده وصف الخطأ اللى ظهر لك جبتهولك من على موقع يعرض كل اخطاء الSQLالموقع موجود فى مشاركه لى على الرابط التالىhttp://www.araboug.org/ib/index.php?showto...mp;#entry130332بالتوفيقمحمد عبد الوهاب هجرس تم تعديل 5 أغسطس 2008 بواسطة هجرس اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohamed_abdelsalam بتاريخ: 5 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 5 أغسطس 2008 جزاكم الله خيرا يا اخ محمد اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hanyfreedom بتاريخ: 5 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 5 أغسطس 2008 بالنسبة لكودك يجب ان تكون ال alias متساوية مع حقول الجدول ، أو قم بكتابة الحقول بعد اسم الجدول ، أو عوض عن أسماء الحقول التى لا تريد ان تعطيها قيمة بالقيمة NULLأذا الخطاء مازال ظاهر ... فأرجو ان ترفق تكوين الجداول التى ذكرتها بكودك ..... و انا هظبطلك الكود . انا بشوف الأعضاء بيكتبوا الكود بشكل معين (في editor) ممكن اخباري كيف ؟ المسألة سهلة خالص ..... بعد كتابتك لكودك ، علم عليه بالموس و انظر للأزرار التى بالأعلى هتلاقى زر أسمه sql أضغط عليه .... فهتلاقى كودك بين هذان العلامتان :- [s Q L ] your Code [ / S Q L ]و بعد الضغط على زر " أضافة رد " هتلاقى كودك أتضبط بتنسيق كود السكويل .و بالتوفيق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohamed_abdelsalam بتاريخ: 6 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 أغسطس 2008 تمام جزاكم الله خيرا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohamed_abdelsalam بتاريخ: 6 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 6 أغسطس 2008 تكوين الجداول كالاتي :- desc mgr_history -- EMPLOYEE_ID NUMBER(6) MANAGER_ID NUMBER(6) SALARY NUMBER(9,2) HIRE_DATE DATE ----------------------------------------------------------------------- desc special_sal -- EMPLOYEE_ID NUMBER(6) SALARY NUMBER(9,2) ---------------------------------------------------------------------- desc sal_histrory -- EMPLOYEE_ID NUMBER(6) HIRE_DATE DATE SALARY NUMBER(9,2) و ده الكود نفسه INSERT ALL INTO special_sal VALUES (employee_id, salary) INTO sal_histrory (employee_id, salary, hire_date) INTO mgr_history (employee_id, manager_id, salary) SELECT employee_id, manager_id, salary, hire_date FROM employees WHERE employee_id < 125 AND salary > 20000; ومتشكر جدا اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hanyfreedom بتاريخ: 6 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 6 أغسطس 2008 desc special_sal ----------------------------------------- EMPLOYEE_ID NUMBER(6) SALARY NUMBER(9,2) ---------------------------------------------------------------------- desc sal_histrory ----------------------------------------- EMPLOYEE_ID NUMBER(6) HIRE_DATE DATE SALARY NUMBER(9,2) ----------------------------------------------------------------------- desc mgr_history ----------------------------------------- EMPLOYEE_ID NUMBER(6) MANAGER_ID NUMBER(6) SALARY NUMBER(9,2) HIRE_DATE DATE ---------------------------------------------------------------------- ---------------------------------------------------------------------- ---------------------------------------------------------------------- INSERT ALL INTO special_sal (employee_id, salary ) VALUES (employee_id, salary ) INTO sal_histrory (employee_id, salary, hire_date ) VALUES (employee_id, salary, hire_date ) INTO mgr_history (employee_id, manager_id, salary ) VALUES (employee_id, manager_id, salary ) SELECT employee_id, manager_id, salary, hire_date FROM employees WHERE employee_id < 125 AND salary > 20000; و بالتوفيق insert_all.zip اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohamed_abdelsalam بتاريخ: 7 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 7 أغسطس 2008 شكرا ا/هاني على الاهتمام و بذل المجهودالكود كله تمام الحمد لله رب العالمين بس هو المشكلة كانت في الصيغة ولا في عدد الcolumns ولافي ايه بالظبط اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
hanyfreedom بتاريخ: 7 أغسطس 2008 تقديم بلاغ مشاركة بتاريخ: 7 أغسطس 2008 انت غلطت فى الجدول التانى و الثالث ..... فالتانى اللى هو " sal_histrory " انت مكتبتش عبارة ال " VALUES " بعد أسم الجدول ، و نفس الشىء للجدول الثالث " mgr_history " برضه مكتبتش عبارة ال " VALUES " بعد أسم الجدول و فى أخر قيمة لازم كنت تكتب null لأنك مش عاوز تحط قيمة فى عمود ال HIRE_DATE .احنا عموماً فى جمل ال insert بنقول شىء من الاثنين :- INSERT INTO sal_histrory VALUES (employee_id, salary, hire_date); --or INSERT INTO sal_histrory (employee_id, salary, hire_date) VALUES (employee_id, salary, hire_date); و انا أفضل الطريقة الثانية لقلة أحتمال وجود خطاء بها ، لكن طبعاً الطريقتان صح .أتمنى تكون الفكرة وصلت ...... و اذا لم يكن شرحى واضح كفاية ، فأرجو ان تراجع درس ال INSERT اولاً ، ثم قم بمذاكرة درس INSERT ALLمع تمنياتى لك بالتوفيق . اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
mohamed_abdelsalam بتاريخ: 8 أغسطس 2008 كاتب الموضوع تقديم بلاغ مشاركة بتاريخ: 8 أغسطس 2008 بشكرك مرة ثانية على المجهود والاهتمام يا ا/هاني اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.