删除压缩表中的列

时间:2013-12-05 09:05:02

标签: oracle oracle11g oracle10g

是否有机会在压缩表中删除列? 我检查了谷歌,似乎根本不可能。

确保我在这里问。

问候

1 个答案:

答案 0 :(得分:1)

将该列设置为unused:

ALTER TABLE TEST SET UNUSED(列名);

ALTER TABLE TEST DROP未使用的列;

注意:此语句实际上不会删除目标列数据或还原这些列占用的磁盘空间。但是,标记为未使用的列不会显示在查询或数据字典视图中,并且会删除其名称,以便新列可以重用该名称。还会删除列上定义的所有约束,索引和统计信息。

如果由于某种原因这对您不起作用,您可以尝试将表格移动到非压缩格式,然后删除该列并再次压缩。