بتاريخ: 21 فبراير 20179 سنة comment_283315 كيفية عمل CURSOR ياتى ببيانات من جدول ----وطباعة أخر صف فقط من الCURSOR تقديم بلاغ
بتاريخ: 21 فبراير 20179 سنة comment_283323 السلام عليكم DECLARE CURSOR C IS SELECT EMPNO, ENAME, COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; BEGIN FOR REC IN C LOOP IF C%ROWCOUNT = 1 THEN DBMS_OUTPUT.PUT_LINE ('FIRST_ROW =' || REC.EMPNO); ELSIF C%ROWCOUNT = REC.TOT_ROWS THEN DBMS_OUTPUT.PUT_LINE ('LAST_ROW ' || REC.EMPNO); END IF; END LOOP; END; تقديم بلاغ
بتاريخ: 21 فبراير 20179 سنة كاتب الموضوع comment_283325 السلام عليكم DECLARE CURSOR C IS SELECT EMPNO, ENAME, COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; BEGIN FOR REC IN C LOOP IF C%ROWCOUNT = 1 THEN DBMS_OUTPUT.PUT_LINE ('FIRST_ROW =' || REC.EMPNO); ELSIF C%ROWCOUNT = REC.TOT_ROWS THEN DBMS_OUTPUT.PUT_LINE ('LAST_ROW ' || REC.EMPNO); END IF; END LOOP; END; ممكن شرحها COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; وشكرا جزيلاً تقديم بلاغ
بتاريخ: 21 فبراير 20179 سنة comment_283326 السلام عليكم COUNT(*) OVER() عدد الـ Rows في الجدول. تقديم بلاغ
بتاريخ: 21 فبراير 20179 سنة comment_283333 ممكن شرحها COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; وشكرا جزيلاً Read about "Count" analytic function. تقديم بلاغ
بتاريخ: 21 فبراير 20179 سنة كاتب الموضوع comment_283343 السلام عليكم DECLARE CURSOR C IS SELECT EMPNO, ENAME, COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; BEGIN FOR REC IN C LOOP IF C%ROWCOUNT = 1 THEN DBMS_OUTPUT.PUT_LINE ('FIRST_ROW =' || REC.EMPNO); ELSIF C%ROWCOUNT = REC.TOT_ROWS THEN DBMS_OUTPUT.PUT_LINE ('LAST_ROW ' || REC.EMPNO); END IF; END LOOP; END; ممكن شرحها COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; وشكرا جزيلاً بيجيب خطأ () TOT_ROWS تقديم بلاغ
بتاريخ: 22 فبراير 20179 سنة comment_283388 لو انت محتاج طباعة آخر سطر فقط بدون التقيد بشرط معين Declare Cursor Cur_getData Is Select EmpNo, Ename From Emp; vEmpNo Number; vEmpName Varchar2 (50); Begin Open Cur_getData; Fetch Cur_getData Into vEmpNo, vEmpName ; Close Cur_getData ; dbms_output.put_line ('Last Record Is Emp No= '||vEmpNo ||' And Emp Name = '||vEmpName); End ; طبعا ده بيطبع آخر سجل في جملة الاستعلام وزي ما قلتلك بدون التقيد بأي شرط تم تعديل 22 فبراير 20179 سنة بواسطة is_man تقديم بلاغ
بتاريخ: 23 فبراير 20179 سنة كاتب الموضوع comment_283406 السلام عليكم DECLARE CURSOR C IS SELECT EMPNO, ENAME, COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP; BEGIN FOR REC IN C LOOP IF C%ROWCOUNT = 1 THEN DBMS_OUTPUT.PUT_LINE ('FIRST_ROW =' || REC.EMPNO); ELSIF C%ROWCOUNT = REC.TOT_ROWS THEN DBMS_OUTPUT.PUT_LINE ('LAST_ROW ' || REC.EMPNO); END IF; END LOOP; END; عند استخدام COUNT (*) OVER () على sql developer بتكون النتيجة صح ....ولكن أما استخدمها على تريجر على الفورم بيظهر خطأ ')' غير معرف تقديم بلاغ
بتاريخ: 23 فبراير 20179 سنة comment_283407 جرب عمل Create للكود كـ DB Function وقم باستدعاء الـ Function في الفورم... تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.