時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
create or replace package mypack
as
type cursor testCursor is ref cursor;
end mypack;
--tableName表名, pageSize每頁(yè)顯示的數(shù)量,pageNow第幾頁(yè),rows總頁(yè)數(shù),pageCount總頁(yè)數(shù),p_cursor游標(biāo)
create or replace procedure fenye
(tableName in varchar2, pageSize in number, pageNow in number, rows out number, pageCount out number, p_cursor out mypack.testCursor)
is
declare
--定義sql語(yǔ)句
v_sql varchar2(1000);
--定義2個(gè)整數(shù)記錄上一頁(yè)
v_begin number := (pageNow - 1) * pageSize + 1;
v_end number := pageNow * pageSize;
begin
v_sql := 'select * from (select t.*, rownum r from (select * from '|| tableName ||') t where rownum<='|| v_end ||') where r>='|| v_begin ;
--將游標(biāo)和sql語(yǔ)句關(guān)聯(lián)起來(lái)
open p_cursor for v_sql;
--計(jì)算rows和pageCount;
v_sql := 'select count(*) from' || tableName;
--執(zhí)行sql語(yǔ)句,并將返回的值付給 rows;
execute immediate v_sql into rows;
pageCount := (rows + pageSize - 1) / pageSize; --總頁(yè)數(shù);
close p_cursor;
end;
關(guān)鍵詞標(biāo)簽:oracle,分頁(yè)存儲(chǔ)過(guò)程
相關(guān)閱讀
熱門(mén)文章 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 誤刪Oracle數(shù)據(jù)庫(kù)實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語(yǔ)句修改字段類(lèi)型-oracle修改SQL語(yǔ)句案例 Oracle中使用alter table來(lái)增加,刪除,修改列的語(yǔ)法 ORACLE SQL 判斷字符串是否為數(shù)字的語(yǔ)句 ORACLE和SQL語(yǔ)法區(qū)別歸納(1) oracle grant 授權(quán)語(yǔ)句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法