Oracle 中的 dual 表是干什么的

华宰 发布于 2010/09/08 07:42
阅读 411
收藏 2

dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。我们可以用它来做很多事情,如下:

1、查看当前用户,可以在 SQL Plus中执行下面语句

sql代码

select user from dual;

2、用来调用系统函数

sql代码

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、得到序列的下一个值或当前值,用下面语句

sql代码

select your_sequence.nextval from dual;--获得序列your_sequence的下一个值  

select your_sequence.currval from dual;--获得序列your_sequence的当前值

4、可以用做计算器

sql代码

select 7*9 from dual; 

 

加载中
0
nile
nile

看起来,是一个哑表。没有列,没有数据,你查什么给你什么,也可以说一个万能表。
我估计是为了统一语法,而设置的这么一个特殊的表格。
等正解

0
whao601
whao601

万能表   哑表      

0
l
leoyong
恩,简洁
返回顶部
顶部