posts - 54,  comments - 1,  trackbacks - 0

Oracle中的有一个很特殊的表:Dual Table.这个表中只含有一行记录,并且我们可以用这个表来检测许多Oracle的功能,比如:

SQL> select 789.65*123 from dual;

789.65*123

----------
  97126.95

SQL
> select abs(-890.98from dual;

ABS(-890.98
)
------------

      890.98

更特别的的是dual表中只含有一行记录,我们可以通过 desc 函数查看dual表的结构:

SQL> desc dual;
 名称                                      是否为空? 类型
 
----------------------------------------- -------- ------------------------


 
DUMMY                                              VARCHAR2(1)

查询dual表中的数据:

SQL> select * from dual ;

DU
--
X

我们向dual中插入一条记录后再查询,看情况会如何:

SQL> select * from dual;

DU
--
X

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

已创建 
1
 行。

SQL
> select * from
 dual;

DU
--
X

SQL
> select count(*from
 dual;

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

         2

可见尽管insert语句插入记录后dual中有两条记录,但只能select出第一条记录.

同样我们再试试update和delete语句:

SQL> update dual set dummy='Z';

已更新 
1
 行。

SQL
> select * from
 dual;

DU
--
Z

SQL
> select count(*from
 dual;

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

         2

SQL
> delete from dual;

已删除 
1
 行。

SQL
> select * from
 dual;

DU
--
Y

SQL
> select count(*from
 dual;

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

         1

可见每次操作只能影响到第一条记录(尽管select , update , delete 所针对的范围是整个表).

posted on 2005-12-26 22:28 ZhuJun 阅读(664) 评论(0)  编辑  收藏 所属分类: 开发手记Database

只有注册用户登录后才能发表评论。


网站导航:
 

蜀中人氏,躬耕于珠海

<2005年12月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(2)

随笔分类(71)

随笔档案(54)

博客

文档

站点

论坛

搜索

  •  

积分与排名

  • 积分 - 50299
  • 排名 - 981

最新评论

阅读排行榜