Динамически выбирать столбцы, которые будут использоваться в операторе SELECT

Я бы хотел иметь возможность использовать системные таблицы (в данном случае Oracle), чтобы определять, какие поля используются в операторе SELECT. Примерно так:

SELECT 
(
select  column_name
from    all_tab_cols
where   table_Name='CLARITY_SER'
AND     OWNER='CLARITY'
AND     data_type='DATE'
) 
FROM CLARITY_SER

Этот синтаксис не работает, поскольку подзапрос возвращает несколько строк вместо одной строки с несколькими столбцами.

Можно ли динамически сгенерировать оператор SQL, запросив информацию о схеме таблицы, чтобы выбрать только определенные столбцы?

** изменить ** По возможности делайте это без использования функции или процедуры.

7
задан craig 12 August 2011 в 16:17
поделиться