В этом учебном материале вы узнаете, как в Oracle/PLSQL использовать CURSOR FOR LOOP c синтаксисом и примерами.
Описание
Oracle/PLSQL CURSOR FOR LOOP можно использовать тогда, когда вы хотите выгрузить и обработать каждую запись курсора. CURSOR FOR LOOP завершится, когда все записи будут извлечены в курсор.
Синтаксис
FOR record_index in cursor_name
LOOP
{...statements...}
END LOOP;
LOOP
{...statements...}
END LOOP;
Параметры или аргументы
record_index – индекс записи
cursor_name - имя курсора, из которого вы хотите извлечь записи.
statements - код выполняющийся при каждом прохождении через цикл.
Пример
Вот пример функции, которая использует CURSOR FOR LOOP:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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; |
В этом примере, мы создали курсор с именем с1. CURSOR FOR LOOP завершится после того, как из курсора c1 будут обработаны все записи.