http://blog.sina.com.cn/s/blog_48cbe4d90100fhse.html
pl/sql
分页:
--创建包
create or replace package
type test_cursor is ref cursor;
end testpackage;
--分页查询
create or replace procedure fenye (
tableName in varchar2,--输入的表名
mypagesize in number,--每页面显示的条数
pageNow in number,--当前的页数
myTotalRows out number,--总记录数
myPageCount out number,--总页面数
p_cursor out testpackage.test_cursor--返回的记录集合
)is
--定义部分
--定义sql语句字符串
v_sql varchar2(1000);
--定义二个整数
v_begin number:=(pageNow-1)*mypagesize+1;
v_end number:=pageNow*mypagesize;
begin
--执行
v_sql:='select * from (select t1.*,rownum rn from(select * from'||tableName
||')t1 where rownum<='||v_end||') wherern>='||v_begin;
--把游标与sql关联
open p_cursor for v_sql;
--计算myTotalRows与myPageCount
--sql
v_sql:='select count(*) from '||tableName;
--执行sql,并把返回值给myTotalRows
execute immediate v_sql into myTotalRows;
--
if mod(myTotalRows,mypagesize)=0 then
myPageCount:=myTotalRows/mypagesize;
else
myPageCount:=myTotalRows/mypagesize+1;
end if;
--关闭游标
--close p_cursor;
end;
java调用:
package com.eriching.app;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.*;
public class TestOraclePro {
public static void main(String[] args) {
"SCOTT","tiger");
}
}