问题
ALL_TAB_COLS differs from ALL_TAB_COLUMNS in that hidden columns are not filtered out.
What are hidden fields?
This view differs from "ALL_TAB_COLUMNS" in that hidden columns are not filtered out.
回答1:
Hidden columns are columns that exist in the table but that cannot be selected. There are various reasons that Oracle might create a hidden column-- two of the more common reasons are
- When a column is marked as unused but not dropped, it is hidden
- Oracle virtual columns create hidden columns in the table
Various other Oracle features may create hidden columns as well though those features tend to be more esoteric (i.e. if memory serves, interMedia creates a couple of hidden columns to track various bits of data).
回答2:
Oracle uses them internally (see http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96594/adobjadv.htm) AND you can define such columns for your own tables... when accessed without proper authorization they display NULL instead of the real value (see http://www.techrepublic.com/article/hide-sensitive-data-with-oracle-10g-column-masking)...
来源:https://stackoverflow.com/questions/7170359/what-are-oracle-hidden-fields