Курсоры типа REF CURSOR весьма полезны в ситуациях, когда текст запроса заранее не известен, но известна логика работы. Например, приведенная ниже процедура получит текст запроса и откроет для него курсор. После этого она передаст переменную REF CURSOR другой процедуре, которая выполнит выборку данных из курсора (и затем его закроет).
Примеры из предыдущего раздела показывают, что курсоры в качестве параметров можно передавать в виде текста SQL. Это можно также сделать, используя предложение SELECT с ключевым словом CURSOR.
Оператор SELECT передается сразу в функцию, которая перебирает в цикле возвращаемые им записи, проверяет их и возвращает количество записей, признанных верными. Это приводит к появлению двух курсоров в разделяемом пуле и в списке мягких закрытий для пользователя.
< Предыдущая | Следующая > |
---|