Атрибуты курсора
Каждый курсор или курсорная переменная имеет четыре атрибута: %FOUND, %ISOPEN %NOTFOUND и %ROWCOUNT. Применяя их к курсорам или курсорным переменным, можно получить полезную информацию о выполнении утверждения манипулирования данными. Атрибуты курсора можно использовать в процедурных утверждениях, а не утверждениях SQL.
Атрибуты явного курсора
Атрибуты явного курсора возвращают информацию о выполнении многострочного запроса. Когда явных курсор или курсорная переменная открываются, строки, удовлетворяющие соответствующему запросу выбираются из активного множества. Строки выбираются из активного множества по одной за раз.
%FOUND
После того, как курсор или курсорная переменная открыты, но до первой выборки, %FOUND производит NULL. Затем, он производит TRUE, если последняя выборка возвратила строку, или FALSE иначе. В следующем примере %FOUND используется для выбора действия:
LOOP
FETCH c1 INTO my_ename, my_sal, my_hiredate;
IF c1%FOUND THEN -- выборка произошла
...
ELSE -- выборка не произошла, значит выход из цикла
EXIT;
END IF;
Если курсор или курсорная перемененная не открыты, %FOUND вызывает предопределённое исключение INVALID_CURSOR.
%ISOPEN
%ISOPEN производит TRUE, если курсор или курсорная перемененная открыты; иначе %ISOPEN производит FALSE. В следующем примере %ISOPEN используется для выбора действия:
IF c1%ISOPEN THEN -- курсор открыт
...
ELSE -- курсор закрыт, значит откроем его
OPEN c1;
END IF;
%NOTFOUND
%NOTFOUND является логической противоположностью %FOUND. %NOTFOUND производит FALSE, если последняя выборка возвратила строку или TRUE иначе. В следующем примере %NOTFOUND используется для выхода из цикла, когда FETCH не возвращает ни одной строки:
LOOP
FETCH c1 INTO my_ename, my_sal, my_hiredate;
EXIT WHEN c1%NOTFOUND;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.