الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

عمل Cursor ياتى ببيانات من جدول وطباعة أخر صف فقط من الcursor

Featured Replies

بتاريخ:

كيفية عمل CURSOR ياتى ببيانات من جدول ----وطباعة أخر صف فقط من الCURSOR

بتاريخ:

السلام عليكم

 

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;
بتاريخ:
  • كاتب الموضوع

 

السلام عليكم

 

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;    وشكرا جزيلاً

بتاريخ:

ممكن شرحها COUNT (*) OVER () TOT_ROWS FROM SCOTT.EMP;    وشكرا جزيلاً

 

Read about "Count" analytic function.

بتاريخ:
  • كاتب الموضوع

 

 

السلام عليكم

 

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

بتاريخ:

لو انت محتاج طباعة آخر سطر فقط بدون التقيد بشرط معين 

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 ;

 

طبعا ده بيطبع آخر سجل في جملة الاستعلام وزي ما قلتلك بدون التقيد بأي شرط 

تم تعديل بواسطة is_man

بتاريخ:
  • كاتب الموضوع

 

السلام عليكم

 

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 بتكون النتيجة صح ....ولكن أما استخدمها على تريجر على الفورم بيظهر خطأ ')' غير معرف

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.