Лабораторная работа №5
по курсу “Базы данных”
PL/SQL – курсоры и хранимые процедуры
План проведения работы:
1. Произвести следующие операции в процессе выполнения работы:
- Управление курсором (создание, открытие, атрибуты, передача параметров, закрытие, курсорные переменные)
- Произвести работу с хранимыми процедурами
2. Описать план проведения работы, предоставить экран выполнения.
Курсоры
Oracle использует рабочие области для выполнения запросов SQL и для хранения информации для вычислений. Конструкция PL/SQL, называемая курсор, позволяет именовать рабочую область и работать с хранимой там информацией. Существует два вида курсоров: явные и неявные. PL/SQL неявно объявляет курсор для всех операторов обработки данных SQL, включая запросы, которые возвращают только одну стоку. Для запросов, возвращающих более одной стоки, можно явно объявить курсор для обработки каждой строки. Например:
DECLARE
CURSOR c1 IS
SELECT empno, ename, job FROM emp WHERE deptno = 20;
Набор строк, возвращаемый многострочным запросом, называется активным набором. Его размер - это число строк, соответствующий критерию поиска.
Многострочная обработка похожа на обработку файла. Например, программа на COBOL открывает файл, обрабатывает записи, и закрывает файл. Подобно, программа PL/SQL открывает курсор, обрабатывает строки, возвращённые запросом и закрывает курсор. Как файловый указатель помечает текущую позицию в открытом файле, курсор помечает позицию в активном множестве.
Можно использовать операторы OPEN, FETCH и CLOSE для управления курсором. Оператор OPEN выполняет запрос, ассоциируемый с курсором, идентифицирует активное множество и устанавливает курсор перед первой строкой. Оператор FETCH возвращает текущую строку и передвигает курсор к следующей строке. И, наконец, когда последняя строка была обработана, CLOSE запрещает курсор.
Явные курсоры
Набор строк, возвращаемый запросом, может состоять из нуля, одной или нескольких строк, в зависимости от того, сколько строк соответствует критерию. Когда запрос возвращает несколько строк, можно явно объявить курсор для обработки строк. Курсор можно объявить в декларативной части любого блока PL/SQL, подпрограммы или пакета.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.