在 Oracle 11g R1 中,Oracle 以不可见索引和虚拟字段的形式引入了一些不错的增强特性。继承前者并发扬光大,Oracle 12c R1 中引入了不可见字段思想。在之前的版本中,为了隐藏重要的数据字段以避免在通用查询中显示,我们往往会创建一个视图来隐藏所需信息或应用某些安全条件。在 12c R1 中,你可以在表中创建不可见字段。当一个字段定义为不可见时,这一字段就不会出现在通用查询中,除非在 SQL 语句或条件中有显式的提及这一字段,或是在表定义中有DESCRIBED。要添加或是修改一个不可见字段是非常容易的,反之亦然。
SQL> create table invisible_t(id int,name varchar2(20),passwd varchar2(20) invisible);
Table created.
SQL> insert into invisible_t values(1,'andy',1);
insert into invisible_t values(1,'andy',1)
*
ERROR at line 1:
ORA-00913: too many values
SQL> insert into invisible_t(id,name,passwd) values(1,'andy',1);
1 row created.
SQL> alter table invisible_t modify(passwd invisible);
Table altered.
SQL> desc invisible_t
Name Null? Type
ID NUMBER(38)
NAME VARCHAR2(20)
SQL> SET COLINVISIBLE ON
SQL> desc invisible_t
Name Null? Type
ID NUMBER(38)
NAME VARCHAR2(20)
PASSWD (INVISIBLE) VARCHAR2(20)
SQL> SET COLINVISIBLE Off
SQL> desc invisible_t
Name Null? Type
ID NUMBER(38)
NAME VARCHAR2(20)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。