بتاريخ: 26 فبراير 200818 سنة comment_123391 انا بعمل كرسولو بظهر بياناته كد Open Theaaaa; Loop Fetch Theaaaa into v_1 , v_2 ; :TXT_T1 := v_1 ; :TXT_T2 := v_2 ; Next_Record; Exit when Theaaaa%notfound; End Loop; Close Theaaaa; اخر سجل بيظهر مرتبن ورا بعضحاولت باكتر منطريقه انى اشيل التانى منفعشانا عايزه اخد البيانات الى تطلع و ادخلها فى جدول تانىو تكرار السجل كده بيعطل المفتاح الرئيسى تقديم بلاغ
بتاريخ: 27 فبراير 200818 سنة comment_123396 أخي الكريم ، صراحتاً أنا لا أفهم ما مشكلتك بالضبط ، ولكنني بوجة عام فهمت أن المشكلة المتعلقة هي تكرار آخر سجل عند جلبها من الـ Cursor ، إذا كان هذا هو صحيح أنظر الي المثال التالي : Declare Cursor Cur_Emp Is Select Emp_Code,Emp_Name From Emp Order By Emp_ID; ID_Code VarChar2(20); ID_Name VarChar2(50); Begin Open Cur_Emp; Fetch Cur_Emp Into ID_Code,ID_Name; While Cur_Emp%Found Loop DBMS_OutPut.Put_Line(ID_Code || ' - ' || ID_Name); Fetch Cur_Emp Into ID_Code,ID_Name; End Loop; Close Cur_Emp; End; / علي إفتراض أننا نطبع كلاً من كود وإسم الموظف علي شاشة SQL*Plus ، يمكنك تغيير DBMS بأي شيء آخر حسب رغبتك .شكراً تقديم بلاغ
بتاريخ: 27 فبراير 200818 سنة comment_123425 انا بعمل كرسولو بظهر بياناته كدOpen Theaaaa; Loop Fetch Theaaaa into v_1 , v_2 ; :TXT_T1 := v_1 ; :TXT_T2 := v_2 ; Next_Record; Exit when Theaaaa%notfound; End Loop; Close Theaaaa; اخر سجل بيظهر مرتبن ورا بعضحاولت باكتر منطريقه انى اشيل التانى منفعشانا عايزه اخد البيانات الى تطلع و ادخلها فى جدول تانىو تكرار السجل كده بيعطل المفتاح الرئيسى أخي الكريم فقط التعديل التالي يكفيOpen Theaaaa; Loop Fetch Theaaaa into v_1 , v_2 ; Exit when Theaaaa%notfound; :TXT_T1 := v_1 ; :TXT_T2 := v_2 ; End Loop; Close Theaaaa; تم تعديل 27 فبراير 200818 سنة بواسطة phsoft تقديم بلاغ
بتاريخ: 28 فبراير 200818 سنة comment_123579 لا بد وان يظهر الكود هكذا Open Theaaaa; LoopFetch Theaaaa into v_1 , v_2 ;Exit when Theaaaa%notfound;:TXT_T1 := v_1 ;:TXT_T2 := v_2 ;Next_Record;End Loop;Close Theaaaa; لابد من غلق CURSOR فى حالة عدم وجود DATA بعد عمليه FETCH مباشرة HUSSEIN SADEK OCP DeveloperOCP Administrator تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.