天天看點

oracle 12c 新特性之不可見字段

     在Oracle 11g R1中,Oracle以不可見索引和虛拟字段的形式引入了一些不錯的增強特性。繼承前者并發揚光大,Oracle 12c 中引入了不可見字段思想。在之前的版本中,為了隐藏重要的資料字段以避免在通用查詢中顯示,我們往往會建立一個視圖來隐藏所需資訊或應用某些安全條件。

在12c中,你可以在表中建立不可見字段。當一個字段定義為不可見時,這一字段就預設不會出現在通用查詢中,除非在SQL語句或條件中有顯式的提及這一字段,或是在表定義中有DESCRIBED。要添加或是修改一個不可見字段是非常容易的,反之亦然。

實驗:

1. 建立一個表,指定passwd為不可見字段

SQL>create table invisible_t(id int,name varchar2(20),passwd varchar2(20) invisible);

2. 向表中插入資料

SQL>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> insert into invisible_t(id,name) values(2,'andy02');

3. 查詢情況

SQL> select * from invisible_t;

ID NAME

---------- --------------------

1 andy

2 andy02

SQL> select id,name from invisible_t;

SQL> select id,name,passwd from invisible_t;

ID NAME PASSWD

---------- -------------------- --------------------

1 andy 1

4.修改字段為可見字段或不可見字段

SQL> alter table invisible_t modify(passwd visible);

Table altered.

SQL> alter table invisible_t modify(passwd invisible);

-- 建立時未指定為不可見字段,若之後想修改為不可見字段,也可以。

SQL>  alter table invisible_t modify(name invisible);

SQL> alter table invisible_t modify(name visible);

文章可以轉載,必須以連結形式标明出處。

本文轉自 張沖andy 部落格園部落格,原文連結:  http://www.cnblogs.com/andy6/p/6819716.html ,如需轉載請自行聯系原作者