ВУЗ:
Составители:
Рубрика:
37
3.2. Обработка запросов с использованием курсоров
Для выполнения команд SQL и хранения информации об их обра-
ботке сервер Oracle использует рабочие области, называемые «личными
областями SQL». Курсоры PL/SQL позволяют присвоить имя такой личной
области и обращаться к информации, которая в ней хранится. Курсор
управляет всеми фазами обработки команды. Существуют неявные и яв-
ные курсоры. Функции явных курсоров:
– Поочередная обработка строк,
возвращаемых запросом.
– Отслеживание текущей обрабатываемой строки.
– Ручное управление курсорами в блоке PL/SQL программистом.
Процесс использования курсора можно разделить на следующие ша-
ги (см. рис. 3.1):
1. Описание курсора. Курсор описывается путем присвоения ему
имени и определения структуры запроса, который будет в нем выполняться.
2. Открытие курсора. Команда OPEN выполняет запрос и связывает
все
используемые переменные. Строки, выбранные запросом, называются
активным множеством и доступны теперь для выборки.
3. Выборка данных курсора. Команда FETCH загружает текущую
строку из курсора в переменные. Каждое выполнение команды FETCH пе-
ремещяет указатель курсора на следующую строку активного множества.
Следовательно, каждая команда FETCH получает доступ к разным стро-
кам, выданным запросом.
4. Закрытие
курсора. Команда CLOSE освобождает активное множе-
ство строк. После этого можно вновь открыть курсор для создания нового
активного набора строк.
DECLARE
OPEN
FETCH
CLOSE
EMPTY?
Создание
именованной
рабочей
области SQL
Выявление
активного
набора строк
Загрузка
текущей
строки в
переменные
Проверка на
наличие
строки
Освобождение
активного
набора строк
Да
Нет
Рис. 3.1. Процесс использования курсора
3.2. Обработка запросов с использованием курсоров Для выполнения команд SQL и хранения информации об их обра- ботке сервер Oracle использует рабочие области, называемые «личными областями SQL». Курсоры PL/SQL позволяют присвоить имя такой личной области и обращаться к информации, которая в ней хранится. Курсор управляет всеми фазами обработки команды. Существуют неявные и яв- ные курсоры. Функции явных курсоров: Поочередная обработка строк, возвращаемых запросом. Отслеживание текущей обрабатываемой строки. Ручное управление курсорами в блоке PL/SQL программистом. Процесс использования курсора можно разделить на следующие ша- ги (см. рис. 3.1): 1. Описание курсора. Курсор описывается путем присвоения ему имени и определения структуры запроса, который будет в нем выполняться. 2. Открытие курсора. Команда OPEN выполняет запрос и связывает все используемые переменные. Строки, выбранные запросом, называются активным множеством и доступны теперь для выборки. 3. Выборка данных курсора. Команда FETCH загружает текущую строку из курсора в переменные. Каждое выполнение команды FETCH пе- ремещяет указатель курсора на следующую строку активного множества. Следовательно, каждая команда FETCH получает доступ к разным стро- кам, выданным запросом. 4. Закрытие курсора. Команда CLOSE освобождает активное множе- ство строк. После этого можно вновь открыть курсор для создания нового активного набора строк. Нет Да DECLARE OPEN FETCH EMPTY? CLOSE Создание Выявление Загрузка Проверка на Освобождение именованной активного текущей наличие активного рабочей набора строк строки в строки набора строк области SQL переменные Рис. 3.1. Процесс использования курсора 37
Страницы
- « первая
- ‹ предыдущая
- …
- 35
- 36
- 37
- 38
- 39
- …
- следующая ›
- последняя »