بتاريخ: 6 أبريل 201412 سنة comment_248922 السلام عليكم ورحمة الله وبركاته جميعا اشكر الله سبحانه وتعالي ثم اشكركم على المساعدة اقوم بعمل شاشة لانشاء ارقام الجلوس فاقوم بتعبئة بيانات الطالب من الرقم و الاسم والمستوى والتخصص وقمت بعمل تريجر لتعبئة ارقام الجلوس والبيانات السابقة في جدول اخر ولكن عند التنفيذ على التود السيكول تخرج كل البيانات تمام ولكن في الشاشة يحضر اول ريكورد فقط فحاولت عمل loopاو ref_cursor ولكن يعطي اخطاء والكود مرفق ادناه declare v_NUMBERS_SIT_ID_DET number(10); v_USER_NUMBERS_SIT_ID_DET number(10); v_STUD_ID number(10); v_USER_STUD_ID number(10); v_SCHOOL_YEAR_ID number(10); v_SCHOOL_ACT_YEAR_ID number(10); v_SCHOOL_ACT_YEAR_DEPTID number(10); cursor c_sn_seq is select NVL(max(NUMBERS_SIT_ID_DET),0)+1,NVL(max(USER_NUMBERS_SIT_ID_DET),0)+1 from STD_NUMBERS_SIT_DETIAL; cursor c_data is SELECT a. stud_id,a.user_stud_id,a.school_year_id,a.school_act_year_id,a.school_act_year_deptid FROM std_study_level_students a where user_stud_id not in (select user_stud_id from std_outgoing) and SCHOOL_YEAR_ID= (select max (SCHOOL_YEAR_ID) from std_study_level_students) ORDER BY a.school_act_year_id,a.school_act_year_deptid desc,to_number(user_stud_id); begin open c_sn_seq; fetch c_sn_seq into v_NUMBERS_SIT_ID_DET,v_USER_NUMBERS_SIT_ID_DET ; -- close c_sn_seq; open c_data; -- message(v_NUMBERS_SIT_ID_DET||'-'||v_USER_NUMBERS_SIT_ID_DET); -- message(v_NUMBERS_SIT_ID_DET||'-'||v_USER_NUMBERS_SIT_ID_DET); FOR employee_rec in c_data LOOP fetch c_data into v_STUD_ID ,v_USER_STUD_ID ,v_SCHOOL_YEAR_ID ,v_SCHOOL_ACT_YEAR_ID ,v_SCHOOL_ACT_YEAR_DEPTID ; -- close c_data; -- message(:STD_NUMBERS_SIT.NUMBERS_SIT_ID); -- message(v_USER_STUD_ID||'-'|| v_STUD_ID); --for i in c_data loop insert into STD_NUMBERS_SIT_DETIAL(NUMBERS_SIT_ID_DET, USER_NUMBERS_SIT_ID_DET, NUMBERS_SIT_ID, USER_STUD_ID, STUD_ID, NUMBER_SIT, SCHOOL_YEAR_ID, UNVERSITY_YEAR, SCHOOL_ACT_YEAR_ID, USER_SCHOOL_ACT_YEAR_DEPTID, SEMESTER_ID ) values (v_NUMBERS_SIT_ID_DET, v_USER_NUMBERS_SIT_ID_DET, :STD_NUMBERS_SIT.NUMBERS_SIT_ID, v_USER_STUD_ID, v_STUD_ID, std_sit_numbers(v_SCHOOL_ACT_YEAR_ID,v_SCHOOL_ACT_YEAR_DEPTID,:STD_NUMBERS_SIT.NUMBERS_SIT_ID), v_SCHOOL_YEAR_ID, :STD_NUMBERS_SIT.UNVERSITY_YEAR, v_SCHOOL_ACT_YEAR_ID, v_SCHOOL_ACT_YEAR_DEPTID, :STD_NUMBERS_SIT.SEMESTER_ID); next_record; end loop; close c_sn_seq; close c_data; commit; execute_query; end; تقديم بلاغ
بتاريخ: 6 أبريل 201412 سنة كاتب الموضوع comment_248928 السلام عليكم ورحمة الله وبركاته جميعا اشكر الله سبحانه وتعالي ثم اشكركم على المساعدة اقوم بعمل شاشة لانشاء ارقام الجلوس فاقوم بتعبئة بيانات الطالب من الرقم و الاسم والمستوى والتخصص وقمت بعمل تريجر لتعبئة ارقام الجلوس والبيانات السابقة في جدول اخر ولكن عند التنفيذ على التود السيكول تخرج كل البيانات تمام ولكن في الشاشة يحضر اول ريكورد فقط فحاولت عمل loopاو ref_cursor ولكن يعطي اخطاء والكود مرفق ادناه declare v_NUMBERS_SIT_ID_DET number(10); v_USER_NUMBERS_SIT_ID_DET number(10); v_STUD_ID number(10); v_USER_STUD_ID number(10); v_SCHOOL_YEAR_ID number(10); v_SCHOOL_ACT_YEAR_ID number(10); v_SCHOOL_ACT_YEAR_DEPTID number(10); cursor c_sn_seq is select NVL(max(NUMBERS_SIT_ID_DET),0)+1,NVL(max(USER_NUMBERS_SIT_ID_DET),0)+1 from STD_NUMBERS_SIT_DETIAL; cursor c_data is SELECT a. stud_id,a.user_stud_id,a.school_year_id,a.school_act_year_id,a.school_act_year_deptid FROM std_study_level_students a where user_stud_id not in (select user_stud_id from std_outgoing) and SCHOOL_YEAR_ID= (select max (SCHOOL_YEAR_ID) from std_study_level_students) ORDER BY a.school_act_year_id,a.school_act_year_deptid desc,to_number(user_stud_id); begin open c_sn_seq; fetch c_sn_seq into v_NUMBERS_SIT_ID_DET,v_USER_NUMBERS_SIT_ID_DET ; -- close c_sn_seq; open c_data; -- message(v_NUMBERS_SIT_ID_DET||'-'||v_USER_NUMBERS_SIT_ID_DET); -- message(v_NUMBERS_SIT_ID_DET||'-'||v_USER_NUMBERS_SIT_ID_DET); FOR employee_rec in c_data LOOP fetch c_data into v_STUD_ID ,v_USER_STUD_ID ,v_SCHOOL_YEAR_ID ,v_SCHOOL_ACT_YEAR_ID ,v_SCHOOL_ACT_YEAR_DEPTID ; -- close c_data; -- message(:STD_NUMBERS_SIT.NUMBERS_SIT_ID); -- message(v_USER_STUD_ID||'-'|| v_STUD_ID); --for i in c_data loop insert into STD_NUMBERS_SIT_DETIAL(NUMBERS_SIT_ID_DET, USER_NUMBERS_SIT_ID_DET, NUMBERS_SIT_ID, USER_STUD_ID, STUD_ID, NUMBER_SIT, SCHOOL_YEAR_ID, UNVERSITY_YEAR, SCHOOL_ACT_YEAR_ID, USER_SCHOOL_ACT_YEAR_DEPTID, SEMESTER_ID ) values (v_NUMBERS_SIT_ID_DET, v_USER_NUMBERS_SIT_ID_DET, :STD_NUMBERS_SIT.NUMBERS_SIT_ID, v_USER_STUD_ID, v_STUD_ID, std_sit_numbers(v_SCHOOL_ACT_YEAR_ID,v_SCHOOL_ACT_YEAR_DEPTID,:STD_NUMBERS_SIT.NUMBERS_SIT_ID), v_SCHOOL_YEAR_ID, :STD_NUMBERS_SIT.UNVERSITY_YEAR, v_SCHOOL_ACT_YEAR_ID, v_SCHOOL_ACT_YEAR_DEPTID, :STD_NUMBERS_SIT.SEMESTER_ID); next_record; end loop; close c_sn_seq; close c_data; commit; execute_query; end; ما هو الخطا في الــــــloop تقديم بلاغ
بتاريخ: 7 أبريل 201412 سنة كاتب الموضوع comment_248943 السلام عليكم ورحمة الله وبركاته جميعا اشكر الله سبحانه وتعالي ثم اشكركم على المساعدة اقوم بعمل شاشة لانشاء ارقام الجلوس فاقوم بتعبئة بيانات الطالب من الرقم و الاسم والمستوى والتخصص وقمت بعمل تريجر لتعبئة ارقام الجلوس والبيانات السابقة في جدول اخر ولكن عند التنفيذ على التود السيكول تخرج كل البيانات تمام ولكن في الشاشة يحضر اول ريكورد فقط فحاولت عمل loopاو ref_cursor ولكن يعطي اخطاء والكود مرفق ادناه declare v_NUMBERS_SIT_ID_DET number(10); v_USER_NUMBERS_SIT_ID_DET number(10); v_STUD_ID number(10); v_USER_STUD_ID number(10); v_SCHOOL_YEAR_ID number(10); v_SCHOOL_ACT_YEAR_ID number(10); v_SCHOOL_ACT_YEAR_DEPTID number(10); cursor c_sn_seq is select NVL(max(NUMBERS_SIT_ID_DET),0)+1,NVL(max(USER_NUMBERS_SIT_ID_DET),0)+1 from STD_NUMBERS_SIT_DETIAL; cursor c_data is SELECT a. stud_id,a.user_stud_id,a.school_year_id,a.school_act_year_id,a.school_act_year_deptid FROM std_study_level_students a where user_stud_id not in (select user_stud_id from std_outgoing) and SCHOOL_YEAR_ID= (select max (SCHOOL_YEAR_ID) from std_study_level_students) ORDER BY a.school_act_year_id,a.school_act_year_deptid desc,to_number(user_stud_id); begin open c_sn_seq; fetch c_sn_seq into v_NUMBERS_SIT_ID_DET,v_USER_NUMBERS_SIT_ID_DET ; -- close c_sn_seq; open c_data; -- message(v_NUMBERS_SIT_ID_DET||'-'||v_USER_NUMBERS_SIT_ID_DET); -- message(v_NUMBERS_SIT_ID_DET||'-'||v_USER_NUMBERS_SIT_ID_DET); FOR employee_rec in c_data LOOP fetch c_data into v_STUD_ID ,v_USER_STUD_ID ,v_SCHOOL_YEAR_ID ,v_SCHOOL_ACT_YEAR_ID ,v_SCHOOL_ACT_YEAR_DEPTID ; -- close c_data; -- message(:STD_NUMBERS_SIT.NUMBERS_SIT_ID); -- message(v_USER_STUD_ID||'-'|| v_STUD_ID); --for i in c_data loop insert into STD_NUMBERS_SIT_DETIAL(NUMBERS_SIT_ID_DET, USER_NUMBERS_SIT_ID_DET, NUMBERS_SIT_ID, USER_STUD_ID, STUD_ID, NUMBER_SIT, SCHOOL_YEAR_ID, UNVERSITY_YEAR, SCHOOL_ACT_YEAR_ID, USER_SCHOOL_ACT_YEAR_DEPTID, SEMESTER_ID ) values (v_NUMBERS_SIT_ID_DET, v_USER_NUMBERS_SIT_ID_DET, :STD_NUMBERS_SIT.NUMBERS_SIT_ID, v_USER_STUD_ID, v_STUD_ID, std_sit_numbers(v_SCHOOL_ACT_YEAR_ID,v_SCHOOL_ACT_YEAR_DEPTID,:STD_NUMBERS_SIT.NUMBERS_SIT_ID), v_SCHOOL_YEAR_ID, :STD_NUMBERS_SIT.UNVERSITY_YEAR, v_SCHOOL_ACT_YEAR_ID, v_SCHOOL_ACT_YEAR_DEPTID, :STD_NUMBERS_SIT.SEMESTER_ID); next_record; end loop; close c_sn_seq; close c_data; commit; execute_query; end; ما هو الخطا في الــــــloop لايوجد اي اقتراحات تقديم بلاغ
بتاريخ: 7 أبريل 201412 سنة comment_248985 open c_data; او FOR employee_rec in c_data وليس الاثنان معا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.