天天看點

不可見字段

在 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

PASSWD (INVISIBLE) VARCHAR2(20)

SQL> SET COLINVISIBLE Off

     本文轉自whshurk 51CTO部落格,原文連結:http://blog.51cto.com/shurk/2056677,如需轉載請自行聯系原作者