بتاريخ: 5 يونيو 201510 سنة comment_262948 counter:=0; while counter<11 loob counter:=counter+1 ; ca:=to_day(next_monthes(201507,'yyyymm',counter),'yyyymm') ; end loop المطلوب تخزين قيمة ca بحيث تكون على الصوره )201507و201506و201505و201504و201503) تقديم بلاغ
بتاريخ: 5 يونيو 201510 سنة comment_262952 مبدئيا loob تبقى loop to_day اسمها to_date monthes تبقى months والدالة اصلا اسمها add_months واقرأ عنها شوفها بتاخد باراميتر شكله ايه . واخيرا انا مش عارف انت بتعمل كده ليه بصراحة , يعني عايز النتيجة دي ليه ؟ تم تعديل 5 يونيو 201510 سنة بواسطة eslam elbyaly تقديم بلاغ
بتاريخ: 5 يونيو 201510 سنة كاتب الموضوع comment_262958 مبدئيا loob تبقى loop to_day اسمها to_date monthes تبقى months والدالة اصلا اسمها add_months واقرأ عنها شوفها بتاخد باراميتر شكله ايه . واخيرا انا مش عارف انت بتعمل كده ليه بصراحة , يعني عايز النتيجة دي ليه ؟ اولا شكرا على التعديلات كان ال يهمنى من السؤال هو الحصول على كيفية تخزين ناتج لووب بدووون insert in table لاستخدام الناتج مره اخرى فى نفس التريجر تقديم بلاغ
بتاريخ: 5 يونيو 201510 سنة comment_262959 الكود اهو DECLARECOUNTER NUMBER := 1 ;V VARCHAR2(90) ;TODY DATE := TRUNC(SYSDATE) ;DIFF NUMBER ;BEGINWHILE COUNTER < 10 LOOPV := TO_CHAR(TODY,'YYYYMM') ;DBMS_OUTPUT.PUT_LINE(V) ;COUNTER := COUNTER + 1 ;DIFF := (LAST_DAY(TODY) - TODY);TODY := TODY + (DIFF+1) ;END LOOP ;END;/ بس نصيحة دي مش طريقة تتعلم بيها برمجة , المفروض انك تروح تبص ع الدوال وتعرف بتشتغل ازاي وبترجع ايه , والمفروض تفكر في الحل وتحاول تطبق , وحاجة تقف فالناس تساعدك هنا , لكن حد يعملك الحاجة كلها مش هتلاقيها دي . تقديم بلاغ
بتاريخ: 5 يونيو 201510 سنة comment_262964 الي فوق ده عشان تشوف بس انت ممكن تفكر ازاي , لكن الأصح انك تستعمل الكود ده DECLARECOUNTER NUMBER := 1 ;V VARCHAR2(90) ;TODY DATE := TRUNC(SYSDATE) ;BEGINWHILE COUNTER < 10 LOOPV := TO_CHAR(TODY,'YYYYMM') ;DBMS_OUTPUT.PUT_LINE(V) ;COUNTER := COUNTER + 1 ;TODY := ADD_MONTHS(TODY,1) ;END LOOP ;END;/وتقدر تستعمل FOR LOOP بدل الـ COUNTER تقديم بلاغ
بتاريخ: 15 يونيو 201510 سنة comment_263159 يمكن استخدام array في ذلك لكي تضع القيم ومن ثم استرجاعها طبعا هذا مثال توضيحي declare type array_type is table of varchar2(100) index by binary_integer; component_array array_type := component_array(201503,201504,201505,201506,201507); i number; begin i := component_array.FIRST; loop exit when i is null; dbms_output.put_line(component_array(i)); i := component_array.next(i); end loop; end; / تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.