pl-sql中select * from dual这个dual是什么

pl-sql中select * from dual这个dual是什么,第1张

Dual简单的说就是一个空表,Oracle提供的最小的工作表,只有一行一列,具有某些特殊功用。常用来通过select语句计算常数表达式

特性:

1、Oracle提供的最小的表,不论进行何种 *** 作(不要删除记录),它都只有一条记录——'X'。

例如:执行select * from dual,里面只有一条记录;执行insert into dual values('Y')后,再次查询dual表,仍然显示一条记录。

2、是sys用户下的一张内部表,所有用户都可以使用DUAL名称访问,无论什么时候这个表总是存在

例如:执行一个查看当前日期的语句 select sysdate from dual,这条语句在放在放在任何一个oracle数据库当中都不会报错,所以一般做一些特定查询的时候用这个表是最稳妥的。

扩展资料:

用途

1、select计算常量表达式、伪列等值

oracle内部处理使它只返回一行数据,而使用其它表时可能返回多个数据行。

2、查看当前用户

select user from dual

select count(*) from dual

3、用做计算器

select 7*9*10-10 from dual;

4、调用系统函数

(1)获得当前系统时间

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual

(2)获得主机名

select sys_context('userenv','terminal') from dual

(3)获得当前locale

select sys_context('userenv','language') from dual

(4)获得一个随机数

select DBMS_RANDOM.random from dual

5、查看序列

(1)创建序列aaa 以1开始,每次加1

create sequence aaa increment by 1 start with 1

(2)获得序列aaa 的下一个序列值

select aaa.nextval from dual

(3)获得序列aaa 的当前序列值

select aaa.currval from dual

参考资料:百度百科   dual

Dual是一个虚拟表,这意味着它返回一个值,在本例中是1。

1.Oracle提供的最小的表只有一条记录——“X”——无论您做什么(不要删除记录)。

例如,select*fromdual,它只有一条记录;在对双值('Y')执行insert之后,再次查询双表并仍然显示一条记录。

2.它是sysuser下的一个内部表。所有用户都可以使用双名称访问它

例如,从dual中选择sysdate,这是一条查看当前日期的语句。此语句不能放在任何oracle数据库中,因此对于特定查询使用此表通常是安全的。

扩展资料:

Dual就是一个空表。它是Oracle提供的最小的工作表。它只有一行和一列。它通常用于通过select语句计算常量表达式。

在Oracle数据库中有一个特殊的双表。Dualtable是Oracle中数百个真正的度表之一。它可以被任何用户阅读。它通常用于没有目标表的Select。Dual表是由Oracle和数据字典一起创建的,所有用户都可以使用名称Dual访问它。

这个表只有一列假,被定义为类型VARCHAR2(1),用一种特殊的行值x从双重选择数据表通常是用来评估常数表达式通过一个通用的SELECT语句,因为双只有一行数据,常数只返回一次。

虚拟表可以查出一些数据

比如

可以算出当前时间

select sysdate from dual

可以当简单的计算器使用

select 1+100 from dual

可以取出字符串,数字等

select 'aaa',1 from dual

你那个就是取出数字1,放到变量v_tem中,在以后的时候会调用这个变量


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9999663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存