Содержание
- 2. Основные понятия
- 3. Основные понятия Курсор - это указатель на зарезервированный участок памяти в SGA, где обрабатывается SQL (SELECT)
- 4. Неявные курсоры Неявный курсор управляется автоматически. Неявный курсор не требует объявления. В процессе выполнения курсор открывается,
- 5. Типичные исключения при работе с курсором Неявный курсор необходимо использовать вместе с обработчиком исключений. Типичные исключения,
- 6. Неявные курсоры Если объявлена переменная типа record, поля которой точно совпадают с данными, запрашиваемыми в операторе
- 7. Явные курсоры Явные курсоры используются, когда ожидается, что запрос может вернуть как ни одной, так и
- 8. Формальное описание явного курсора CURSOR cursor_name [(parameter[,parameter]...)] [RETURN return_type] IS select_statement; Каждый параметр parameter определяется как:
- 9. Этапы работы с явными курсорами Курсор определятся в декларативной части блока PL/SQL, подпрограммы или пакета путем
- 10. Явные курсоры
- 11. Этапы работы с явными курсорами Курсоры могут принимать параметры, как показывает следующий пример. Параметр курсора может
- 12. Этапы работы с явными курсорами Открытие курсора предложением OPEN исполняет предложение SELECT и идентифицирует АКТИВНОЕ МНОЖЕСТВО,
- 13. Этапы работы с явными курсорами Предложение FETCH извлекает очередную строку из активного множества. При каждом выполнении
- 14. Этапы работы с явными курсорами Предложение CLOSE деактивирует курсор освобождает занимаемые им ресурсы, и активное множество
- 15. Атрибуты явного курсора Для работы с курсором можно использовать следующие атрибуты, указываемые после имени курсора: •
- 16. Атрибут %NOTFOUND Когда курсор открыт, строки, удовлетворяющие ассоциированному запросу, идентифицированы и образуют активное множество. Эти строки
- 17. Атрибут %FOUND %FOUND логически противоположен атрибуту %NOTFOUND. После открытия явного курсора, но до первой операции FETCH,
- 18. Атрибут %FOUND Когда вы открываете курсор, его атрибут %ROWCOUNT обнуляется. Перед первой операцией FETCH %ROWCOUNT возвращает
- 19. Атрибут %ROWCOUNT Когда вы открываете курсор, его атрибут %ROWCOUNT обнуляется. Перед первой операцией FETCH %ROWCOUNT возвращает
- 20. Атрибут %ISOPEN %ISOPEN дает TRUE, если явный курсор открыт, и FALSE в противном случае. Пример использования
- 21. Использование курсора в цикле FOR Вместо управления курсором операторами OPEN, FETCH и CLOSE язык PL/SQL предоставляет
- 22. Использование курсора в цикле FOR
- 23. Использование курсора в цикле FOR Например: DECLARE CURSOR c1 IS SELECT f1, f2 FROM tbl2 WHERE
- 24. Тип REF CURSOR При объявлении переменной курсора создается указатель типа REF CURSOR. Переменная типа REF CURSOR
- 25. Тип REF CURSOR Определение типа REF CURSOR может иметь следующее формальное описание: TYPE ref_type_name IS REF
- 26. Тип REF CURSOR При выполнении SQL-запроса Oracle создает неименованную рабочую область, в которой содержится сформированный результирующий
- 27. Тип REF CURSOR Для управления переменной курсора используются операторы OPEN-FOR, FETCH и CLOSE. Оператор OPEN-FOR связывает
- 28. Тип REF CURSOR Для переменной курсора можно использовать атрибуты %FOUND, %NOTFOUND, %ISOPEN и %ROWCOUNT. Например: DECLARE
- 29. Тип REF CURSOR При попытке повторно открыть ранее открытую переменную курсора для другого результирующего набора предыдущий
- 30. Тип REF CURSOR Следующий пример демонстрирует применение в качестве переменной хост-переменной основного языка программирования. /* Объявление
- 31. Тип REF CURSOR Применение переменных курсора имеет ряд следующих ограничений: • переменные курсора не могут быть
- 32. Тип REF CURSOR Выборка строк из результирующего набора выполняется оператором FETCH, который может иметь следующее формальное
- 34. Скачать презентацию