在 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 valueside
SQL> insert into invisible_t(id,name,passwd) values(1,'andy',1);blog
1 row created.
繼承
SQL> alter table invisible_t modify(passwd invisible);索引
Table altered.it
SQL> desc invisible_t
Name Null? Typetable
ID NUMBER(38)
NAME VARCHAR2(20)class
SQL> SET COLINVISIBLE ON
SQL> desc invisible_t
Name Null? Typeim
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)