日期:2014-05-17  浏览次数:20866 次

时间相关
一般用 select sysdate from dual 来取得Oracle中时间
dual是啥表?

为啥要这么取?

------解决方案--------------------
dual是oracle的一个虚表,你同样可以对数据库别的表操作这个命令,只是返回的条数是那个表的条数
------解决方案--------------------
dual为oracle中的虚拟表

个人理解:这是为了提供常量表达式的计算,这些表达式计算不依赖于任何用户的其它表。但是为了作到SQL实现过程的一致以及满足SQL标准规范,因此设计者提供了这样一张虚拟表。
------解决方案--------------------
Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中
------解决方案--------------------
右键 Dual 你就发现它的字段是如下的
DUMMY VARCHAR2(1) Y

------解决方案--------------------
DUAL:Diffusing Update Algorithm ,弥散更新算法.EIGRP组件之一。dual是Oracle与数据字典一起自动创建的一个虚拟表﹐它只有一列﹕DUMMY﹐其数据类型为﹕VARCHAR2(1)。dual中只有一行数据﹕ 'X '。dual属于sys模式﹐但所有用户都可以使用dual名称访问它﹐用SELECT计算常量表达式﹑伪列等值时常用该表﹐因为它只返回一行数据﹐而使用其它表时可能返回多个数据行。用来查那些不属于实际表里的内容,有时也用来检查某表某条件的记录存在性
------解决方案--------------------
Oracle语法要求必须有select 和from子句,dual是Oracle中的一个虚表可以满足Oracle数据库的语法需求