بتاريخ: 6 يوليو 201015 سنة comment_196105 بسم الله الرحمن الرحيم عندي مشكلة هي اني عندما اقوم بعمل سيلكت لمجموعة من recordsبناء على رقم معين وعند عمل insertفي block ومن ثم حفظها في الداتا بيز يقوم بعمل insert لريكورد واحد فقط مع العلم انه على التود او تنفيذ السلكت على السيكول يسترجع كل الريكورد المطلوبة سواء كان ريكورد واحد او اكثر ما هو التعديل المطلوب لجعل هذا cursor يسترجع كل الريكرود ويقوم بعمل insertفي block declarev_GRP_COMP_ID HAB_CONT_ME_BOUND.GRP_COMP_ID%type;v_BUILD_CONT_ID HAB_CONT_ME_BOUND.BUILD_CONT_ID%type;v_USER_BAND_ID HAB_CONT_ME_BOUND.USER_BAND_ID%type;v_MENTENCE_BAND HAB_CONT_ME_BOUND.MENTENCE_BAND%type;cursor emp_cursor isSELECT GRP_COMP_ID, BUILD_CONT_ID, USER_BAND_ID, MENTENCE_BAND FROM HAB_CONT_ME_BOUNDWHERE BUILD_CONT_ID=:HAB_BUILD_CONT_MENTCE.BUILD_CONT_ID;beginopen emp_cursor;loopfetch emp_cursor into v_GRP_COMP_ID, v_BUILD_CONT_ID, v_USER_BAND_ID, v_MENTENCE_BAND; :HAB_BUILD_CONT_MENTCE_D.GRP_COMP_ID:=v_GRP_COMP_ID; :HAB_BUILD_CONT_MENTCE_D.BAND_ID:=band_id_sEQ.NEXTVAL; :HAB_BUILD_CONT_MENTCE_D.USER_BAND_ID:=v_USER_BAND_ID; :HAB_BUILD_CONT_MENTCE_D.BAND_NAME:=v_MENTENCE_BAND; :HAB_BUILD_CONT_MENTCE_D.BUILD_CONT_ID_MENTCE:=v_BUILD_CONT_ID;exit when emp_cursor%notfound;end loop;end; شكرا وجزاكم الله خيرررررررا تقديم بلاغ
بتاريخ: 6 يوليو 201015 سنة comment_196130 السلام عليكمجرب هذا الكود: Declare V_Grp_Comp_Id Hab_Cont_Me_Bound.Grp_Comp_Id%Type; V_Build_Cont_Id Hab_Cont_Me_Bound.Build_Cont_Id%Type; V_User_Band_Id Hab_Cont_Me_Bound.User_Band_Id%Type; V_Mentence_Band Hab_Cont_Me_Bound.Mentence_Band%Type; Cursor Emp_Cursor Is Select Grp_Comp_Id, Build_Cont_Id, User_Band_Id, Mentence_Band From Hab_Cont_Me_Bound Where Build_Cont_Id =: Hab_Build_Cont_Mentce.Build_Cont_Id; Begin For Rec In Emp_Cursor Loop :Hab_Build_Cont_Mentce_D.Grp_Comp_Id := Rec.V_Grp_Comp_Id; :Hab_Build_Cont_Mentce_D.Band_Id := Band_Id_Seq.Nextval; :Hab_Build_Cont_Mentce_D.User_Band_Id := Rec.V_User_Band_Id; :Hab_Build_Cont_Mentce_D.Band_Name := Rec.V_Mentence_Band; :Hab_Build_Cont_Mentce_D.Build_Cont_Id_Mentce := Rec.V_Build_Cont_Id; End Loop; End; بالتوفيق. تقديم بلاغ
بتاريخ: 7 يوليو 201015 سنة comment_196147 جرب أن تضع Commit قبل end loopوان شاء الله تمشى معاك بالتوفيق ان شاءالله تم تعديل 7 يوليو 201015 سنة بواسطة ENG_HOSSAM_WALLY تقديم بلاغ
بتاريخ: 7 يوليو 201015 سنة comment_196169 المشكله ان الcursor يسجل القيم على ريكورد واحد و لحلها تقوم بوضع كود داخل اللوب يقوم بادراج سجل جديد عند دورا ن اللوب كما يلي: declare v_GRP_COMP_ID HAB_CONT_ME_BOUND.GRP_COMP_ID%type; v_BUILD_CONT_ID HAB_CONT_ME_BOUND.BUILD_CONT_ID%type; v_USER_BAND_ID HAB_CONT_ME_BOUND.USER_BAND_ID%type; v_MENTENCE_BAND HAB_CONT_ME_BOUND.MENTENCE_BAND%type; cursor emp_cursor is SELECT GRP_COMP_ID, BUILD_CONT_ID, USER_BAND_ID, MENTENCE_BAND FROM HAB_CONT_ME_BOUND WHERE BUILD_CONT_ID=:HAB_BUILD_CONT_MENTCE.BUILD_CONT_ID; begin open emp_cursor; loop fetch emp_cursor into v_GRP_COMP_ID, v_BUILD_CONT_ID, v_USER_BAND_ID, v_MENTENCE_BAND; exit when emp_cursor%notfound; last_record; next_record; :HAB_BUILD_CONT_MENTCE_D.GRP_COMP_ID:=v_GRP_COMP_ID; :HAB_BUILD_CONT_MENTCE_D.BAND_ID:=band_id_sEQ.NEXTVAL; :HAB_BUILD_CONT_MENTCE_D.USER_BAND_ID:=v_USER_BAND_ID; :HAB_BUILD_CONT_MENTCE_D.BAND_NAME:=v_MENTENCE_BAND; :HAB_BUILD_CONT_MENTCE_D.BUILD_CONT_ID_MENTCE:=v_BUILD_CONT_ID; end loop; end; تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.