易截截图软件、单文件、免安装、纯绿色、仅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存储过程,以游标的方式返回一个记录集


--创建一个包
create or replace package types
as
type cursorType is ref cursor;
end types;
--创建存储过程,游标类型返回参数
create or replace procedure SP_Fee_Instance(v_company in varchar, v_sdate in nva ......

Oracle 中的 TO_DATE 和 TO_CHAR 函数

oracle 中 TO_DATE 函数的时间格式,以 2008-09-10 23:45:56 为例

格式
说明
显示值
备注

 
Year(年):
yy
two digits(两位年)
08
 
yyy
three digits(三位年)
008
 
yyyy
four digits(四位年)
2008
 
 
Month(月):
mm
number(两位月)
09
 
mon
abbre ......

ORACLE UNDO 《深入浅出ORACLE第七章》

如果说Redo是用来保证在故障时事务可以被恢复,那么Undo则是用来保证事务可以被回退或者撤销。
在修改操作中,对于回退段的操作存在多处,在事务开始时,首先需要在回滚段表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,Oracle必须以此来保证事务是可以回退的。
如果用户提交了事务,Oracle会 ......

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
        ......

oracle的9个name

Oracle的9个_name
2008-07-17 23:47
1、db_name 数据库名
  SQL> connect xys/manager as sysdba
  已连接。
  SQL> show user
  USER 为 "SYS"
  SQL> show parameter db_name
  NAME TYPE VALUE
  ---- -------- ------------
  db_name string test1
  db_name是数据库的名字,or ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号