ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »