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

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
        (SELECT 列名1...列名n from 表名 ORDER BY 列名1...列名n)
       WHERE ROWNUM <= N(抽出记录数)
      ORDER BY ROWNUM ASC
   下面举个例子简单说明一下。
顾客表customer(id,name)有如下数据:
      ID NAME
       01 first
       02 Second
       03 third
       04 forth
       05 fifth
       06 sixth
       07 seventh
       08 eighth
       09 ninth
       10 tenth
       11 last
   则按NAME的字母顺抽出前三个顾客的SQL语句如下所示:
      SELECT * from
        (SELECT * from CUSTOMER ORDER BY NAME)
       WHERE ROWNUM <= 3
       ORDER BY ROWNUM ASC
   输出结果为:
      ID NAME
       08 eighth
       05 fifth
       01 first
2.在TOP N纪录中抽出第M(M <= N)条记录
在得到了TOP N的数据之后,为了抽出这N条记录中的第M条记录,我们可以考虑从ROWNUM着手。我们知道,ROWNUM是记录表中数据编号的一个隐藏子段,所以可以在得到TOP N条记录的时候同时抽出记录的ROWNUM,然后再从这N条记录中抽取记录编号为M的记录,即使我们希望得到的结果。
从上面的分析可以很容易得到下面的SQL语句。
 &nb


相关文档:

oracle异构、同构数据库之间的同步资料(参考)

1)SQL Server链接服务器 Linked Server方式(SQLServer作为源服务器):
http://www.cnblogs.com/riccc/archive/2009/07/23/sql-server-linked-server.html
2)Oracle高级复制(oracle数据库之间复制):
http://www.chinaunix.net/bbsjh/8/54.html
其他技术方法:
  snapshot  
  Replication   ......

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

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

oracle over()函数技术详解

 原文地址:http://hi.baidu.com/zengjl/blog/item/c06c8edeb2c7e45cccbf1aca.html/cmtid/305a850ea57b09ec37d1226c
1.查询表数据
SQL> select deptno,ename,sal
   2   from emp
   3   order by deptno;
DEPTNO ENAME          SAL ......

学习《Oracle 9i10g编程艺术》的笔记 (十一) 事务

 1.事务概述
事务(Transaction)是数据库区别于文件系统的特性之一。在文件系统中,如果你正把文件写到一
半,操作系统突然崩溃了,这个文件就很可能会被破坏。不错,确实还有一些“日报式”(journaled)之
类的文件系统,它们能把文件恢复到某个时间点。不过,如果需要保证两个文件同步,这些文件系统 ......

oracle启动监听出现TNS 12547错误

现象:
oracle启动监听,报告如下错误:
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
原因:
lisenter.log 文件太大了,Oracle无法对它进行操作了,导致listener无法正常启动。
listener.log 超过2G就会出问题
方法:
法1. 移除原$ ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号