为什么USER_UNUSED_COL_TABS只包含未使用的列但不包含名称?

时间:2014-01-24 14:17:04

标签: sql oracle

以下字典视图:

SELECT * FROM USER_UNUSED_COL_TABS

仅提供表名和未使用的列数。为什么无法看到已标记为UNUSED的列名?

1 个答案:

答案 0 :(得分:1)

也许是因为如果你拥有它,你就无法对这些信息做任何事情。您无法恢复它们,也不能显式删除它们。您还可以添加一个具有相同名称的新列,因此如果您将其标记为未使用,则必须有一种方法可以区分它们。

来自the documentation

  

您可以在数据中查看标有UNUSED列的所有表格   字典视图USER_UNUSED_COL_TABSDBA_UNUSED_COL_TABS和   ALL_UNUSED_COL_TABS

     

...将列标记为UNUSED后,您无权访问   那一栏。 SELECT *查询不会从未使用的数据中检索数据   列。此外,标记为UNUSED的列的名称和类型   在DESCRIBE期间不会显示,您可以添加到。{1}}   列出一个与未使用的列同名的新列。

使用DROP UNUSED COLUMNS子句或删除另一列,只需删除未使用的列即可。我想,This view显示哪些表可能值得运行DROP UNUSED COLUMNS,但据我所知,它并没有太多用处。