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

Oracle, DB2 及 MySQL 分页查询写法

 
现在在WEB 应用中使用分页技术越来越普遍了,其中利用数据库查询分页是一种效率比较高的方法,
下面列出了Oracle, DB2  及 MySQL 分页查询写法。
一:Oracle
select * from (select rownum,name from table where rownum <=endIndex )
where rownum > startIndex
二:DB2
DB2分页查询
SELECT * from (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20
以上表示提取第10到20的纪录
select * from (select rownumber() over(order by id asc ) as rowid from table where rowid <=endIndex ) AS a1
where a1.rowid > startIndex
三:MySQL
select   *   from   table   limit   start,pageNum  
SELECT EVENTID  , EVENTNAME  , CREATETIME  , ELAPSEDTIME  , REPEATCOUNT  , MESSAGE  , LOCALINSTANCEID , STATUS , MEMO from(SELECT rownumber() OVER (ORDER BY CREATETIME ASC) AS rowid from MS_EVENT WHERE rowid <=20) as a1 WHERE a1.rowid >10
SELECT * from (SELECT EVENTID  , EVENTNAME  , CREATETIME  , ELAPSEDTIME  , REPEATCOUNT  , MESSAGE  , LOCALINSTANCEID , STATUS , MEMO,
ROWNUMBER() OVER (ORDER BY CREATETIME  ASC) AS rn from MS_EVENT) AS a1 WHERE a1.rn BETWEEN 10 and 20
--------------------------------------------------------------------
1. 标准的rownum分页查询使用方法:
    select *
      from (select c.*, rownum rn from content c)
     where rn >= 1
       and rn <= 5
    2. 但是如果, 加上order by addtime 排序则数据显示不正确
    select *
      from (select c.*, rownum rn from content c order by addtime)
     where rn >= 1
       and rn <= 5
    解决方法,再加一层查询,则可以解决,
    select *
      from (s


相关文档:

北大青鸟oracle学习笔记26 27 28

数据库触发器
触发器语句
    制定触发器定时、事件、表名及类型
触发器主体
    是pl/sql快或对过程的调用
触发器限制
    可以通过when子句实现
DML(insert update delete)
DDL(create alter drop)
数据库操作(servererror logo ......

Linux下启动oracle10g的em和isqlplus

Linux下启动oracle10g的em和isqlplus的方法:
注:$ORACLE_HOME为oracle的安装路径
1,使用EM(enterprise managment)
1.1启动EM
$ORACLE_HOME/bin/emctl start dbconsole
如果出现下面相关信息,说明服务启动
Z set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.1.0.3.0
Copyright (c) 1996, 200 ......

调试oracle缓存命中率来增加数据库的效率


下面两篇文章全部是转帖~
原地址:http://www.im80hou.com/html/oracle/2009/0722/824.html
理论:
内存与硬盘的速度差异,从内存中读取数据要比从硬盘中读取数据快10000倍
众所周知,从内存中读取数据要比从硬盘中读取数据快10000倍。这主要是内存与硬盘的速度差异所造成的。为此在Oracle数据库中提出一个数据缓存的 ......

向oracle表中插入大量数据

需要大量oracle测试数据时,可以使用以下方法。
DECLARE
 i INT;
BEGIN
i := 0;
WHILE(i < 100000)
LOOP
 i := i + 1;
 INSERT INTO TEST_TABLE(ID, XM) VALUES(i, '姓名' || i);
END LOOP;
COMMIT;
 END; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号