BlogJava-欢迎来到小米的博客-随笔分类-数据库http://www.blogjava.net/georgehill/category/1274.html希望能和您交流Java编程的知识和见解zh-cnWed, 28 Feb 2007 00:32:56 GMTWed, 28 Feb 2007 00:32:56 GMT60从MySQL到Oracle的分页SQL语句的移植http://www.blogjava.net/georgehill/archive/2005/05/12/4226.html小米小米Thu, 12 May 2005 06:52:00 GMThttp://www.blogjava.net/georgehill/archive/2005/05/12/4226.htmlhttp://www.blogjava.net/georgehill/comments/4226.htmlhttp://www.blogjava.net/georgehill/archive/2005/05/12/4226.html#Feedback0http://www.blogjava.net/georgehill/comments/commentRss/4226.htmlhttp://www.blogjava.net/georgehill/services/trackbacks/4226.htmlMySQL:SELECT * FROM foo ORDER BY xxx LIMIT ? OFFSET ?
Oracle:SELECT * FROM (SELECT ROWNUM AS NUMROW, A.* FROM (SELECT * FROM foo ORDER BY xxx) A) WHERE NUMROW>? AND NUMROW<=?
   这是利用Oracle的一个虚拟的ROWNUM列实现的,只要在原来的SQL语句前面加上“SELECT * FROM (SELECT ROWNUM AS NUMROW, A.* FROM (”,并且把后面的“LIMIT ? OFFSET ?”改成“) A) WHERE NUMROW>? AND NUMROW<=?”,并且在代码处做相关的修改即可。

小米 2005-05-12 14:52 发表评论
]]>
Oracle中的自增类型的实现http://www.blogjava.net/georgehill/archive/2005/05/12/4224.html小米小米Thu, 12 May 2005 06:41:00 GMThttp://www.blogjava.net/georgehill/archive/2005/05/12/4224.htmlhttp://www.blogjava.net/georgehill/comments/4224.htmlhttp://www.blogjava.net/georgehill/archive/2005/05/12/4224.html#Feedback0http://www.blogjava.net/georgehill/comments/commentRss/4224.htmlhttp://www.blogjava.net/georgehill/services/trackbacks/4224.html
 1CREATE TABLE FOO
 2(
 3   INDEX                          INT                            NOT NULL,
 4   ABC                            VARCHAR2(128),
 5   DEF                            VARCHAR2(128),
 6   PRIMARY KEY (INDEXID)
 7) TABLESPACE TEMP;
 8
 9CREATE SEQUENCE FOO_INDEXID INCREMENT BY 1 START WITH 1 MAXVALUE 999999999999 CYCLE NOCACHE;
10
11CREATE OR REPLACE TRIGGER INSERT_FOO_INDEXID
12BEFORE INSERT ON FOO
13REFERENCING
14    NEW AS new
15    OLD AS old
16FOR EACH ROW
17BEGIN
18    SELECT FOO_INDEXID.NEXTVAL INTO :new.INDEXID FROM DUAL;
19END;


小米 2005-05-12 14:41 发表评论
]]>