專案裡經常見到類似下面的語句:
select seq_project.nextval from dual
用於獲取序列值。而自己並沒有建立dual這個表,這個表是誰建立的呢,主要是用來做什麼的呢?
下面是我找到的部分解釋:
dual是oracle與資料字典一起自動建立的乙個表,它只有一列:dummy,其資料型別為:varchar2(1)。
dual中只有一行資料:'x'。
dual屬於sys模式,但所有使用者都可以使用dual名稱訪問它。用select計算常量表示式、偽列等值時常用該錶,因為它只返回一行資料,而使用其它表時可能返回多個資料行。
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;
dual表是什麼表
dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...
Oracle的dual是什麼
1.dual 確實是一張表.是一張只有乙個字段,一行記錄的表.2.習慣上,我們稱之為 偽表 因為他不儲存主題資料.3.他的存在,是為了操作上的方便.因為select 都是要有特定物件的.如 select from mytable select from myview 等等.但如果我們不需要從具體的表...
dual在oracle中是什麼
dual在oracle中是什麼 問題 dual是什麼?回答 www.2cto.com dual是乙個系統表,不能刪除或者修改其表結構。它的名稱叫做 偽表 或者 啞表 檢視其表結構 sql desc dual 名稱 是否為空?型別 dummy varchar2 1 其欄位只有乙個 dummy 中文叫做...