Тип записи запроса Oracle Dynamic 'SQL select' - PullRequest
0 голосов
/ 25 июня 2011

Динамический запрос выглядит так:

request := 'select * from ' || param_table_name || ' where ' || column_name_list;

Тогда я делаю:

open cur1 for request;

Точный тип записи, выбранной с помощью cur1, неизвестен до времени выполнения, поскольку он не должен налагать никаких ограничений на таблицы, к которым применяется данная процедура. Но тогда, как мне пройти через то, что возвращает запрос?

1 Ответ

5 голосов
/ 25 июня 2011

PL / SQL-курсоры не могут работать со столбцами, которые не известны во время компиляции.

Единственный способ работать с полностью динамическими запросами в PL / SQL - использовать пакет PL / SQL DBMS_SQL.

Обновление:

Oracle имеет подробное описание пакета DBMS_SQL со многими примерами.

...