Cursor for loop
توضیحات
از دستور cursor for loop برای fech کردن و انجام دستور به ازای همه رکوردهای یک cursor استفاده میشود.
دستور
دستور برای cursor for loop به صورت زیر نوشته میشود:
| ۱ ۲ ۳ ۴ |
FOR record_index in cursor_nameLOOP {...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;BEGINtotal_val := ۰; FOR employee_rec in c۱ LOOP total_val := total_val + employee_rec.monthly_income; END LOOP; RETURN total_val;END; |
