ALL_TAB_COLS与ALL_TAB_COLUMNS的区别在于隐藏的列不会被过滤掉。什么是Oracle隐藏字段?
什么是隐藏字段?
该视图的不同在于,隐藏的列从“ALL_TAB_COLUMNS”是 未过滤掉。
ALL_TAB_COLS与ALL_TAB_COLUMNS的区别在于隐藏的列不会被过滤掉。什么是Oracle隐藏字段?
什么是隐藏字段?
该视图的不同在于,隐藏的列从“ALL_TAB_COLUMNS”是 未过滤掉。
隐藏列是存在于表中但不能被选择的列。有各种原因,甲骨文可能创建一个隐藏的column--两个更常见的原因是
各种其他Oracle功能可能会创建隐藏列,虽然这些功能往往是更深奥(即如果内存服务,interMedia创建一对隐藏的列来跟踪各种数据位)。
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/6156626),你可以定义这样的列你自己的表......
“甲骨文虚拟列在表格中创建隐藏列“ ”,这不太正确。 虚拟列不会隐藏(它们将显示在select * from table中)。 Oracle仅在12c中添加了明确的“不可见”/隐藏列。 – Tagar
隐藏列也用于支持时间有效性 - 您可以在某个时间点对数据进行增强的日期/时间查询。请参阅http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/ilm/temporal/temporal.html –