现在我在统计VIEW里面的字段,但是遇到一个问题,就是无法将VIEW里面的全部字段通过一条SQL语句返回。
我用的方法是:
select
a.COLUMN_NAME,
decode(a.DATA_TYPE,'NUMBER',(to_char(a.DATA_TYPE)||'('||to_char(a.DATA_PRECISION)||'$'||to_char(a.DATA_SCALE)||')'),(to_char(a.DATA_TYPE)||'('||to_char(a.CHAR_LENGTH)||')'))
from
user_tab_columns a
where
a.TABLE_NAME = 'view_name'
但是如果遇到UNION情况,好像只能返回第一个UNION之前的字段信息。大家能否帮帮我,看能否用一条SQL,可以将VIEW里面用到的TABLE以及每个TABLE里面用到的字段都取到。
我用的方法是:
select
a.COLUMN_NAME,
decode(a.DATA_TYPE,'NUMBER',(to_char(a.DATA_TYPE)||'('||to_char(a.DATA_PRECISION)||'$'||to_char(a.DATA_SCALE)||')'),(to_char(a.DATA_TYPE)||'('||to_char(a.CHAR_LENGTH)||')'))
from
user_tab_columns a
where
a.TABLE_NAME = 'view_name'
但是如果遇到UNION情况,好像只能返回第一个UNION之前的字段信息。大家能否帮帮我,看能否用一条SQL,可以将VIEW里面用到的TABLE以及每个TABLE里面用到的字段都取到。
>那就在第一个SQL中写上别名.每一个UNION的表,都要用别名区分。并且字段前面也要加上别名,才能让oracle区别他们,将全部的UNION的表的列信息都反映到user_tab_columns表?