Мы хотим заполнить курсор в процедуре, которая заполняется из оператора выбора в таблице.
Мы создали таблицу с именем сохраненные_стали_сталицы с двумя столбцами: Created_date & Sql_statement.В эту таблицу мы вставим оператор выбора, который выбирает другие данные из базы данных на основе потребностей клиентов.Пример: вставка в значения сохраненных_каталогов (Created_date, Sql_statement) ('1.02.2011', 'Выберите Client_idn, что-то из cool_table где animal =' dog '')
Затем в процедуре мы имеем кучукод, который делает то, что ему нужно, который никогда не изменится, но оператор выбора, который мы имеем в курсоре, периодически меняется.Нам всегда нужно возвращать 2 поля, но остальная часть оператора select изменяется.
Так что теперь нам нужно заполнить курсор в процедуре тем, что оператор SELECT придет из таблицы.Если он возвращал только 1 строку, мы имеем: объявляем x varchar2 (600);номер rec1 (10);rec2 varchar2 (15);начать выполнение немедленного выбора Sql_statement в x из сохраненных_стадий_статей, где create_date = '2/1/2011';немедленно выполнить x в rec1, rec2;...
Это работает, но нам не нужно, чтобы оно входило в 2 переменные, нам нужно, чтобы оно входило в курсор.Реальное выражение select (приведенный выше код является простым примером того, что нам нужно сделать) возвращает тысячи записей, поэтому нам нужно использовать курсор.
Надеюсь, все это имеет смысл
Так что, если кто-нибудь знает, как это сделать, это будет оценено.