Oracle的dual

一、dual是什么

dual: Oracle提供的最小的工作表,只有一行一列,具有某些特殊作用。

二、dual表结构

Name Type
DUMMY Varchar(1)

dual表结构

三、表内容

DUMMY
X

在使用了sys用户dba权限,进去添加数据,再次查询仍然是一条数据。
Oracle的dual_第1张图片

四、特性

  • 是Oracle提供的最小的表,不论进行任何操作(不要删除表),它都只有一条记录–‘X’。
  • 是sys用户下的一张内部表,所用用户都可以使用dual来访问。

五、原理

select owner, object_name , object_type from dba_objects where object_name = 'DUAL';

使用以上sql语句查出 dual是属于sys的一个表,是以 PUBLIC SYNONYM来提供给其他用户使用
Oracle的dual_第2张图片

  • OWNER:对象拥有者
  • OBJECT_NAME:对象名字
  • OBJECT_TYPE:对象类型,如table,view,index等

六、使用

在Oracle中语法规则严格,需要用虚拟表来构成Oracle的语法规则。

例如:
  • 在Mysql中使用函数可以 select now();获取日期。
  • 在Oracle中使用函数需要 select sysdate from dual; 来获取

mysql获取日期:
Oracle的dual_第3张图片
oracle中获取日期:
Oracle的dual_第4张图片

你可能感兴趣的:(oracle,数据库)