Закрытие курсора
Оператор CLOSE запрещает курсор и активное множество становится неопределённым.
Синтаксис:

| cursor_name | Имя не открытого явного курсора. | 
| cursor_variable_name 
 | Имя переменной курсора объявленной в окружении PL/SQL и передаваемая PL/SQL как связанная переменная. Тип данных главной переменной курсора совместим с возвращаемым типом любой переменной PL/SQL курсора. В операторах SQL главные переменные должны иметь префикс двоеточие. | 
Пример оператора CLOSE:
CLOSE c1;
Когда курсор закрыт, его можно заново открыть. Любая другая операция с закрытым курсором вызывает исключение INVALID_CURSOR.
Неявные курсоры
Oracle неявно открывает курсор для обработки каждого оператора SQL с которым не связан явно объявленный курсор. PL/SQL позволяет ссылаться на последний неявный курсор как курсор "SQL".
Нельзя использовать операторы OPEN, FETCH и CLOSE для управления курсором SQL. Но можно использовать атрибуты курсора для получения информации о последнем выполненном операторе SQL.
Цикл FOR для курсоров
В большинстве ситуаций, которые требуют явного курсора, можно вместо них использовать курсорный цикл FOR вместо операторов OPEN, FETCH и CLOSE.
Курсорный цикл FOR неявно объявляет индекс цикла как запись, которая представляет строку в таблице базы данных, открывает курсор, неоднократно выбирает строки значений из активного множества в поля записи, затем закрывает курсор, затем закрывает курсор, когда все строки были обработаны. В следующем примере, курсорного цикла FOR неявно объявляет emp_rec как запись
DECLARE
CURSOR c1 IS
SELECT ename, sal, hiredate, deptno FROM emp;
...
BEGIN
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.