Oracle 11g 新特性(一) 虛擬列

2022-08-29 05:12:13 字數 1099 閱讀 5506

資料庫版本: oracle database 11g enterprise edition release 11.2.0.2.0 - 64bit

oracle11g 增加了虛擬列的新特性, 具體說明如下:

1> 只能在堆組織表(普通表)上建立虛擬列,不能在索引組織表、外部表、臨時表上建立虛擬列

2> 虛擬列不能是lob或者raw型別

3> 虛擬列的值並不是真實存在的,只有用到時,才根據表示式計算出虛擬列的值,磁碟上並不存放

4> 可把虛擬列當做分割槽關鍵字建立分割槽表,這是oracle 11g的另一新特性--虛擬列分割槽

5> 可在虛擬列上建立索引

6> 如果在已經建立的表中增加虛擬列時,若沒有指定虛擬列的字段型別,oracle會根據 generated always as 後面的表示式計算的結果自動設定該字段的型別

7> 虛擬列的值由oracle根據表示式自動計算得出,不可以做update和insert操作, 可以對虛擬列做 delete 操作

8> 表示式中的所有列必須在同一張表

9> 表示式不能使用其他虛擬列

--建立帶有虛擬列的表

sql> create table test(n1 number, c1 varchar2(80), n2 number generated always as (n1*0.8)); --建立帶有虛擬列的分割槽表

sql> create table test1

(n1 number,

c1 varchar2(80),

v1 varchar2(2) generated always as (substr(c1,1,1)))

partition by list (v1)

(partition v11 values('i'),

partition v12 values('o'),

partition v13 values('e'),

partition v15 values(default));

sql> select * from test1 partition(v11);

--分割槽表的虛擬列上建立索引 sql> create index inx_test on test1(v1);

Oracle 11g 的新特性 唯讀表

上次我們介紹了 oracle 11g 的新特性 虛擬列,今天我們介紹另外乙個新特性 唯讀表。唯讀表跟普通的表沒有區別,但不允許任何事務對其執行任何dml insert,update,delete 操作。在 oracle 11g 之前,唯讀 只對資料庫和表空間有效,而到了 11g,你可以設定某個表為唯...

Oracle 11g 新特性 RMAN 壓縮備份

這是我的 oracle 11g 系列的文章之一.用壓縮的方式備份,這其實是乙個 oracle 早就應該有的功能。在 10g 中,終於看到 oracle 實現了這個特性。而 11g 中,又提供了新的可選壓縮方式 rman show all configure compression algorithm...

oracle 11g中的虛擬列

在oracle 11g中,支援虛擬列,注意虛擬列是可以根據其他列動態計算出來的,語法 column name datatype generated always as expression virtual 例子 create table employee empl id number,empl nm...