Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выборка PL.SQL.docx
Скачиваний:
4
Добавлен:
20.07.2019
Размер:
316.25 Кб
Скачать
    1. Курсорные атрибуты

В PL/SQL существуют четыре атрибута, которые могут быть применены к курсорам. Курсорные атрибу­ты добавляются к имени курсора в блоке PL/SQL. Эти атрибуты: %FOUND, %NOTFOUND, %ISOPEN и %ROWCOUNT.

%FOUND - это логический атрибут. Он возвращает TRUE, если при предшествующем считывании была выбрана строка, и FALSE — если строка выбрана не была.

%NOTFOUND ведет себя противоположно %FOUND: если предшествующее считывание возвращает строку — значение %NOTFOUND ложно. Атрибут %NOTFOUND возвращает TRUE, только если во вре­мя предшествующего считывания строка выбрана не была. Этот атрибут часто используется в качестве условия выхода из цикла выборки.

%ISOPEN Этот логический атрибут используется для курсор. Если открыт, то %FSOPEN возвращает TRUE.

%ROWCOUNT Этот числовой атрибут возвращает число строк, считанных курсором на данный мо­мент, а не общее количество строк которые выбрал SELECT.

    1. Циклы выборки

Цикл выборки (fetch loop) — это обычный цикл, в котором строки активного набора обрабатыва­ются но порядку, одна за другой, а в качестве условий используются атрибуты курсора.

Однако существует специальная разновидность цикла FOR, в котором управление обработкой курсора осуществляется неявно. Используется следующий синтаксис:

FOR итератор IN курсор LOOP

/*операторы*/

END LOOP;

Здесь итератор играет роль счетчика цикла и одновременно содержит в себе строчку, считанную курсором на данном раунде. Считывание новой строчки происходит автоматически перед началом каждого раунда. Выход так же автоматический, как только %NOTFOUND окажется равным TRUE (неявно) перед очередным считыванием.