Oracle 隐藏列

自己原文公众号: https://mp.weixin.qq.com/s/pDPqeGn0WqR06oYg7rIU5A

CREATE TABLE xxg (id int, name varchar2(40), sal number(9) INVISIBLE);

注意最后一列是不可见。

我们在工具中PLSQL这种工具中右键,View一下是看不到最后一列的。


但是在命令行中  使用desc 命令是可以看到的。3列。

这个时候我insert隐式这种写法,两列是可以的。查询select*也是看到2列。


将这一列visible


如果放开这一列,那么就要insert3列。

再看select *是3列。


再次关掉。将这一列invisible


这里结果就是,显示要求列的话,就无视不可见。直接显示。


但是如果就是*的话,看不出到不可见的列。


这个特性有什么用?


我在想一个是安全方面,只要不是显示,不告知别人。那么这一列是别人看不到的。


还有一个是,一次性数据库发布先发上去。但是应用功能还没开发完成,没关系,等下次开发好了,只要做一个字段可见的打开就好了。这样的操作丝毫不影响任何动作。不会阻塞DML,非常灵活。


请使用浏览器的分享功能分享到微信等