Cursor for loop

توضیحات

از دستور cursor for loop برای fech کردن و انجام دستور به ازای همه رکوردهای یک cursor استفاده می‌شود.

دستور

دستور برای cursor for loop به صورت زیر نوشته می‌شود:

۱
۲
۳
۴
FOR record_index in cursor_name
LOOP
   {...statements...}
END LOOP;

record_index: ایندکس رکورد را نشان می‌دهد.
cursor_name: نام cursor را نشان می‌دهد.
Statements: دستوری که به ازای تمام رکوردها در cursor اجرا می‌شود.


مثال

مثالی از یک تابع که از cursor for loop استفاده می‌کند:

۱
۲
۳
۴
۵
۶
۷
۸
۹
۱۰
۱۱
۱۲
۱۳
۱۴
۱۵
۱۶
۱۷
۱۸
۱۹
۲۰
CREATE OR REPLACE Function TotalIncome
   ( name_in IN varchar۲ )
   RETURN varchar۲
IS
   total_val number(۶);
   cursor c۱ is
     SELECT monthly_income
     FROM employees
     WHERE name = name_in;
BEGIN
total_val := ۰;
   FOR employee_rec in c۱
   LOOP
      total_val := total_val + employee_rec.monthly_income;
   END LOOP;
   RETURN total_val;
END;
Categories: Data
X