1. 程式人生 > >固體表和DUAL表的介紹

固體表和DUAL表的介紹

固態表

固態表是Oracle中的一種特殊表,以X$開頭,屬於SYS使用者。它們儲存的是Oracle例項內部使用的執行資料,如一些效能統計資料、latch資訊等;在例項啟動時載入到記憶體中,並在資料庫的執行過程中動態新增刪除,在例項關閉時被釋放。系統中所有固態表可以由檢視v$fixed_table查詢得到。除SYS使用者外,其他使用者都不能直接查詢固態表,只能通過檢視查詢。

DUAL表

dual是一個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下:

  1、檢視當前使用者,可以在 SQL Plus中執行下面語句 select user from dual;

  2、用來呼叫系統函式

  select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;--獲得當前系統時間

  select SYS_CONTEXT('USERENV','TERMINAL') from dual;--獲得主機名

  select SYS_CONTEXT('USERENV','language') from dual;--獲得當前 locale

  select dbms_random.random from dual;--獲得一個隨機數

  3、得到序列的下一個值或當前值,用下面語句

  select your_sequence.nextval from dual;--獲得序列your_sequence的下一個值

  select your_sequence.currval from dual;--獲得序列your_sequence的當前值

  4、可以用做計算器 select 7*9 from dual;