易截截图软件、单文件、免安装、纯绿色、仅160KB

神秘的 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 表空间操作

oracle表空间操作详解
  1
  2
  3作者:   来源:    更新日期:2006-01-04 
  5
  6 
  7建立表空间
  8
  9CREATE TABLESPACE data01
 10DATAFILE '/ora ......

ORACLE视图


2008年06月01日 星期日 14:52
Oracle的数据库对象分为五种:表,视图,序列,索引和同义词。 
视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。 
视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的集 ......

oracle数据库学习(ZT)

 oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对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 和 Oracle中的limit问题解决方案

oracle top N
1.在ORACLE中实现SELECT TOP N
   由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询。
简单地说,实现方法如下所示:
      SELECT 列名1...列名n from
        ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号