神秘的 ORACLE DUAL表
神秘的 ORACLE DUAL表
DUAL ? 有什么神秘的? 当你想得到ORACLE系统时间, 简简单单敲一行SQL
不就得了吗? 故弄玄虚….
SQL> select sysdate from dual;
SYSDATE
———
28-SEP-03
哈哈, 确实DUAL的使用很方便. 但是大家知道DUAL倒底是什么OBJECT, 它有什么特殊的行为吗? 来,我们一起看一看.
首先搞清楚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)
SQL>
只有一个名字叫DUMMY的字符型COLUMN .
然后查询一下表里的数据:
SQL> select dummy from dual;
DUMMY
———-
X
哦, 只有一条记录, DUMMY的值是’X’ .很正常啊,没什么奇怪嘛. 好,下面就有奇妙的东西出现了!
插入一条记录:
SQL> connect sys as sysdba
Connected.
SQL> insert into dual values ( ‘Y’);
1 row created.
SQL> commit;
Commit complete.
SQL> select count(*) from dual;
COUNT(*)
———-
2
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
2008年06月01日 星期日 14:52
Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。
视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。
视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的集 ......
oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路。
一、定位
oracle分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle ......
select a.constraint_name, a.table_name, b.constraint_name
from user_constraints a, user_constraints b
where a.constraint_type = 'R'
and b.constraint_type = 'P'
and a.r_constraint_name = b.constraint_name
P 代表主键
R 代表外键
通过关联,能查询到你所想要的一切。
select co ......
oracle top N
1.在ORACLE中实现SELECT TOP N
由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。
简单地说,实现方法如下所示:
SELECT 列名1...列名n from
......