Oracle中的dual

(1)dual是什么:是Oracle数据库中的一张表(虚表),只包含一个VARCHAR2(1)类型,名称为DUMMY的字段。

ORACLE数据库对dual表的操作做了一些特殊处理,尽量保证dual表只返回一条记录.这些内部操作是不可见的。

(2)dual的作用:满足语法结构

(3)dual的奇怪特性:只返回一条记录,

测试过程如下:

SQL> select * from dual;
 
DUMMY
-----
X

SQL> select count(*) from dual;

  COUNT(*)
----------
         1

X为DUMMY字段的默认值。

SQL> insert into dual values ('H');

已创建一行

SQL> commit;

提交完成

SQL> select count(*) from dual;

  COUNT(*)
----------
         1

SQL> select * from dual;
DUMMY
-----
X

SQL> update dual set dummy ='W';

已更新一行

SQL> commit;
提交完成

SQL> select * from dual;

DUMMY
-----
W

从上面可以看到,虽然插入dual表成功,但是查询记录的时候仍然只展示默认的那条记录,且记录数一直为1。Update可以成功,且将dual表中的记录成功更新。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值