ВУЗ:
Составители:
Рубрика:
41
CURSOR emp_cursor
(v_dept NUMBER, v_job VARCHAR2) IS
SELECT last_name, salary, start_date
FROM s_emp
WHERE dept_id=v_dept
AND title=v_job;
Циклы FOR с курсорами обрабатывают строки в явном курсоре. Это
сокращенная форма записи, поскольку происходит открытие курсора, вы-
борка строк по одной за каждое прохождение цикла и автоматическое за-
крытие курсора после того, как все строки обработаны. Синтаксис откры-
тия цикла FOR с курсором:
FOR record_name IN cursor_name LOOP
operator1;
operator2;
. . .
END LOOP;
где record_name – имя записи, cursor_name – имя курсора, operator1,
operator2... – операторы PL/SQL.
Пример использования цикла FOR с курсором:
FOR item_record IN item_cursor LOOP
v_order_total:=v_order_total +
(item_record.price*
item_record.quantity);
i:=i+1;
product_id_table(i):=
item_record.product_id;
order_total_table (i):=v_order_total;
END LOOP;
Прежде чем удалять или обновлять строки, вы можете пожелать их
заблокировать. Для этого в запрос, выполняемый в курсоре, включается
предложение FOR UPDATE. Не фиксируйте изменения между выборками
CURSOR emp_cursor
(v_dept NUMBER, v_job VARCHAR2) IS
SELECT last_name, salary, start_date
FROM s_emp
WHERE dept_id=v_dept
AND title=v_job;
Циклы FOR с курсорами обрабатывают строки в явном курсоре. Это
сокращенная форма записи, поскольку происходит открытие курсора, вы-
борка строк по одной за каждое прохождение цикла и автоматическое за-
крытие курсора после того, как все строки обработаны. Синтаксис откры-
тия цикла FOR с курсором:
FOR record_name IN cursor_name LOOP
operator1;
operator2;
. . .
END LOOP;
где record_name имя записи, cursor_name имя курсора, operator1,
operator2... операторы PL/SQL.
Пример использования цикла FOR с курсором:
FOR item_record IN item_cursor LOOP
v_order_total:=v_order_total +
(item_record.price*
item_record.quantity);
i:=i+1;
product_id_table(i):=
item_record.product_id;
order_total_table (i):=v_order_total;
END LOOP;
Прежде чем удалять или обновлять строки, вы можете пожелать их
заблокировать. Для этого в запрос, выполняемый в курсоре, включается
предложение FOR UPDATE. Не фиксируйте изменения между выборками
41
Страницы
- « первая
- ‹ предыдущая
- …
- 39
- 40
- 41
- 42
- 43
- …
- следующая ›
- последняя »
