Oracle中神秘的DUAL表的探究
【IT168 技术文档】
DUAL ? 有什么神秘的? 当你想得到ORACLE系统时间, 简简单单敲一行SQL 不就得了吗? 故弄玄虚….
确实DUAL的使用很方便. 但是大家知道DUAL倒底是什么OBJECT, 它有什么特殊的行为吗? 来,我们一起看一看.SQL>; select sysdate from dual;
![]()
SYSDATE
![]()
---------
![]()
28-SEP-03
首先搞清楚DUAL是什么OBJECT :
SQL>; connect system/manager
![]()
Connected.
![]()
SQL>; select owner, object_name , object_type from dba_objects where object_name like '%DUAL%';
![]()
OWNER OBJECT_NAME OBJECT_TYPE
![]()
--------------- --------------- -------------
![]()
SYS DUAL TABLE
![]()
PUBLIC DUAL SYNONYM
原来DUAL是属于SYS schema的一个表,然后以PUBLIC SYNONYM的方式供其他数据库USER使用.
再看看它的结构:
SQL>; desc dual
![]()
Name Null? Type
![]()
---------------------------------
![]()
DUMMY VARCHAR2(1)
只有一个名字叫DUMMY的字符型COLUMN .
然后查询一下表里的数据:
SQL>; select dummy from dual;
![]()
DUMMY
![]()
----------
![]()
X
0
相关文章
