実行を実行せずに、単一の選択ステートメントから選択されたすべての列を取得したい。クエリは join または union を使用する可能性があり、クエリは複数のテーブルで構成される可能性があるため、単純にステートメントを使用することはできません
select column_name, data_type
from user_tab_cols
where table_name = 'my_table_name'
結果を取得します。
例えば
入力:
select db1.*
from (select dept_code,
vital_signs,
units,
log_time
from table1
where dept_code = '111'
union
select 'hl06' as dept_code,
vital_signs,
units,
log_time
from table2
where isdefault = 1
and vital_signs not in
(select vital_signs
from Ward_Vs_Vital_Signs
where dept_code = '111')) db1,
table3 db2
where db1.vital_signs = db2.vital_signs(+)
order by db2.serial_no
出力:
column_name | data_type
-------------------------
dept_code | VARCHAR
vital_signs | NUMBER
units | VARCHAR
log_time | DATE
私の質問は、クエリを解析し、ステートメントを実行せずに返される列とデータ型をデータベースに伝えるにはどうすればよいですか? ありがとう !
PS: 私は Oracle 10g を使用しています。