Выборка данных в PL/SQL, страница 4

2.5. Атрибуты явных курсоров

Oracle поддерживает четыре атрибута для явных курсоров:  %ISOPEN, %FOUND, %NOTFOUND и %ROWCOUNT.

%ISOPEN

%FOUND

%NOTFOUND

%ROWCOUNT

До OPEN

FALSE

Исключение

Исключение

Исключение

После OPEN и до первой FETCH

TRUE

NULL

NULL

0

После первой FETCH

TRUE

TRUE

FALSE

1

Перед последней FETCH

TRUE

TRUE

FALSE

Зависит от данных

После последней FETCH и перед CLOSE

TRUE

FALSE

TRUE

Зависит от данных

После CLOSE

FALSE

Исключение

Исключение

Исключение

2.6. Параметры курсора

·  Расширение возможности многократного использования курсоров

·  Решение проблем, связанных с областью действия курсоров

Область действия параметров курсора ограничивается самим курсором.

Параметры курсоров могут быть только входными.

Параметрам могут присваиваться значения по умолчанию.

    CURSOR c_sal (p_SNum NUMBER := 0) 

        RETURN  sal%ROWTYPE

    IS

        SELECT  *  FROM  sal   WHERE  snum = p_SNum;

2.7. Предложение BULKCOLLECT

Конструкция BULKCOLLECT была введена в Oracle8i для ускорения работы с запросами. BULKCOLLECT позволяет использовать неявный курсор для считывания за один раз нескольких строк в коллекции PL/SQL. Эта конструкция также позволяет за одно обращения к явному курсору считать в коллекции все или часть строк, выбранных курсором из базы данных.

. . . BULKCOLLECTINTOимя_коллекции[, имя_коллекции] . . . [LIMITстроки]

DECLARE