1. 程式人生 > >Oracle中的Dual表

Oracle中的Dual表

char oracle 字段 rom 目標表 方便 目標 inf 信息

1、Dual是Oracle中的一個實際存在的表。是一張只有一個字段,一行記錄的表,任何用戶均可讀取,常用在沒有目標表的select語句塊中。

2、習慣上,我們稱之為“偽表”。因為他不存儲主體數據。

3、他的存在,是為了操作上的方便。因為select都是要有特定對象的。

如:select * from mytable; select * from myview; 等等。

但如果我們不需要從具體的表來取得表中數據,而是單純地為了得到一些我們想得到的信息,並要通過select完成時,就要借助一個對象,這個對象,就是dual;

如:

1)返回當前連接的用戶,可以用:select user from dual;來實現;

2)計算999*999的值,可以用:select 999*999 from dual;來實現;

3)拼接一個電話信息:select concat(‘010-‘,‘88888888‘)||‘轉23‘ 高乾競電話 from dual;

技術分享圖片

就變成了我們想要的格式輸出。

4、當然,我們不一定要dual,也可以這樣做。例如:

create table mydual(dummy varchar2(1));

也可以實現和dual同樣的效果:

select 999*999 from mydual;

不過,Dual我們都用習慣了,就無謂自己再搞一套了。

Oracle中的Dual表