什么是 Oracle 隐藏字段?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/7170359/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What are Oracle hidden fields?
提问by Oh Chin Boon
ALL_TAB_COLSdiffers from ALL_TAB_COLUMNSin that hidden columns are not filtered out.
ALL_TAB_COLS不同于ALL_TAB_COLUMNS在隐藏的列不过滤掉。
What are hidden fields?
什么是隐藏字段?
This view differs from "ALL_TAB_COLUMNS" in that hidden columns are not filtered out.
此视图与“ALL_TAB_COLUMNS”的不同之处在于未过滤掉隐藏的列。
回答by Justin Cave
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
隐藏列是表中存在但无法选择的列。Oracle 可能会创建隐藏列的原因有多种——两个更常见的原因是
- When a column is marked as unused but not dropped, it is hidden
- Oracle virtual columnscreate hidden columns in the table
- 当一列被标记为未使用但未删除时,它是隐藏的
- Oracle虚拟列在表中创建隐藏列
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).
各种其他 Oracle 特性也可能创建隐藏列,但这些特性往往更深奥(即,如果没有记错的话,interMedia 会创建几个隐藏列来跟踪各种数据位)。
回答by Yahia
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)...
Oracle 在内部使用它们(请参阅http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96594/adobjadv.htm)并且您可以为您自己的表定义这些列......当未经适当授权访问时它们显示 NULL 而不是实际值(请参阅http://www.techrepublic.com/article/hide-sensitive-data-with-oracle-10g-column-masking)...