【发布时间】:2020-05-05 13:14:23
【问题描述】:
我创建了一个带有不可见列的表:
CREATE C39293.JUNK (
id NUMBER,
JUNKCOL VARCHAR2(50) INVISIBLE
);
验证表已创建:
select * from all_tab_columns where table_name = 'JUNK'
输出:
1 THE_OWNER_SCHEMA JUNK JUNKCOL VARCHAR2 50 Y (WideMemo) CHAR_CS 50 NO NO 50 B NO YES NONE NO NO
2 THE_OWNER_SCHEMA JUNK ID NUMBER 22 Y 1 (WideMemo) NO NO 0 NO YES NONE NO NO
我希望这个视图能够显示所有不可见的列。
select * from dba_unused_col_tabs;
没有找到记录
如何查询数据库中所有不可见的列?
【问题讨论】:
-
未使用和不可见是两个不同的术语。如果您
ALTER TABLE T SET UNUSED(c),则未使用该列。它在不从磁盘释放任何数据的情况下禁用列的使用,从而保持数据库的相同性能。您稍后在一天的空闲时间删除该列。不可见的列不会显示给应用程序,但它仍然存在并且工作方式相同
标签: oracle