Курсоры в SQL — способы объявления курсоров, связывание курсора с оператором
1) Способы объявления курсоров
• С помощью оператора DECLARE (объявленный), аналогичный рассмотренному нами ранее.
• Создан из ранее подготовленного оператора (выделенный курсор).
2) Связывание курсора с оператором
ALLOCATE <имя курсора> [INSENSITIVE][SCROLL] CURSOR FOR <имя оператора>
Примечание: <имя оператора> представляет собой сформированный определенным образом оператор SELECT.
3) Открытие курсора
OPEN <имя курсора> [USING <переменные HOST-языка>|SQL DESCRIPTOR <имя дескриптора>]
4) Извлечение данных из курсора
FETCH <имя курсора> [USING <переменные HOST-языка>|SQL DESCRIPTOR <имя дескриптора>]
5) Пример работы с курсором
• Подготавливается строка StSQL с оператором запроса:
exec sql StSQL:=»select * from SalesPeople where City=’London'»;
• Создается оператор и из него выполняется курсор:
exec sql prepare global Stmt2 from :StSQL;
exec sql allocate Cur_name scroll cursor for Stmt2;
exec sql open Cur_name using sql descriptor parmdesc;
exec sql fetch Cur_name using sql descriptor parmdesc;