当您在 Oracle 9i 上查询 ALL_TAB_COLS 视图时,它会列出标记为 UNUSED 的列以及“活动”表列。似乎没有一个字段明确说明某列是否未使用,也没有我可以加入的任何视图列出表中未使用的列。如何轻松找出哪些是未使用的列,以便将它们从 ALL_TAB_COLS 中过滤掉?
尝试使用 ALL_TAB_COLUMNS 而不是 ALL_TAB_COLS。在 Oracle 11.2 中,我发现未使用的列出现在 ALL_TAB_COLS 中(尽管已重命名),但不在 ALL_TAB_COLUMNS 中。
我创建了一个这样的表:
create table t1 (c1 varchar2(30), c2 varchar2(30);
然后将c2设置为未使用:
alter table t1 set unused column c2;
然后我看到:
select column_name from all_tab_cols where owner='ME' and table_name='T1';
COLUMN_NAME
-----------
C1
SYS_C00002_10060107:25:40$
select column_name from all_tab_columns where owner='ME' and table_name='T1';
COLUMN_NAME
-----------
C1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)