توضیحات
از دستور 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 varchar2 ) RETURN varchar2 IS total_val number(6); cursor c1 is SELECT monthly_income FROM employees WHERE name = name_in; BEGIN total_val := 0; FOR employee_rec in c1 LOOP total_val := total_val + employee_rec.monthly_income; END LOOP; RETURN total_val; END;