Oracle/PLSQL: CURSOR FOR Loop
The syntax for the CURSOR FOR Loop is:
FOR record_index in cursor_name
LOOP
{.statements.}
END LOOP;
You would use a CURSOR FOR Loop when you want to fetch and process every record in a cursor. The CURSOR FOR Loop will terminate when all of the records in the cursor have been fetched.
译:当你每次想通过cursor来对每条记录进行取及操作时,就可以使用CURSOR FOR Loop。当cursor中所有的记录都取后,CURSOR FOR Loop就会终止。
Here is an example of a function that uses a 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;
In this example, we‘ve created a cursor called c1. The CURSOR FOR Loop will terminate after all records have been fetched from the cursor c1.
译:在这个示例中,我们建立了一个名为c1的cursor。当所有c1中的记录都取后,CURSOR FOR Loop就会终止。