بتاريخ: 5 أغسطس 200817 سنة comment_135086 الكود 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 أغسطس 200817 سنة comment_135123 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 أغسطس 200817 سنة بواسطة هجرس تقديم بلاغ
بتاريخ: 5 أغسطس 200817 سنة comment_135151 بالنسبة لكودك يجب ان تكون ال alias متساوية مع حقول الجدول ، أو قم بكتابة الحقول بعد اسم الجدول ، أو عوض عن أسماء الحقول التى لا تريد ان تعطيها قيمة بالقيمة NULLأذا الخطاء مازال ظاهر ... فأرجو ان ترفق تكوين الجداول التى ذكرتها بكودك ..... و انا هظبطلك الكود . انا بشوف الأعضاء بيكتبوا الكود بشكل معين (في editor) ممكن اخباري كيف ؟ المسألة سهلة خالص ..... بعد كتابتك لكودك ، علم عليه بالموس و انظر للأزرار التى بالأعلى هتلاقى زر أسمه sql أضغط عليه .... فهتلاقى كودك بين هذان العلامتان :- [s Q L ] your Code [ / S Q L ]و بعد الضغط على زر " أضافة رد " هتلاقى كودك أتضبط بتنسيق كود السكويل .و بالتوفيق تقديم بلاغ
بتاريخ: 6 أغسطس 200817 سنة كاتب الموضوع comment_135253 تكوين الجداول كالاتي :- 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; ومتشكر جدا تقديم بلاغ
بتاريخ: 6 أغسطس 200817 سنة comment_135293 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 تقديم بلاغ
بتاريخ: 7 أغسطس 200817 سنة كاتب الموضوع comment_135348 شكرا ا/هاني على الاهتمام و بذل المجهودالكود كله تمام الحمد لله رب العالمين بس هو المشكلة كانت في الصيغة ولا في عدد الcolumns ولافي ايه بالظبط تقديم بلاغ
بتاريخ: 7 أغسطس 200817 سنة comment_135403 انت غلطت فى الجدول التانى و الثالث ..... فالتانى اللى هو " 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مع تمنياتى لك بالتوفيق . تقديم بلاغ
بتاريخ: 8 أغسطس 200817 سنة كاتب الموضوع comment_135460 بشكرك مرة ثانية على المجهود والاهتمام يا ا/هاني تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.