分頁儲存過程 Oracle版

2022-09-03 06:12:10 字數 1426 閱讀 7547

在oracle中使用分頁儲存過程相比較sql server來說,要複雜一些,資料集的返回需要使用游標。本人的分頁儲存過程是在oracle包中實現的。

--首先定義包頭部分

--pfilter引數為查詢條件字串,如「 ncid='1' and ndate='2012-1-1'」

create or replace package pkg_news is

type curbase is ref cursor;

procedure searchnews (pfilter in varchar2,ppage number,precordperpage out number,pallrecord out number,curnews out curbase);

end;

--然後定義包的主體部分

create or replace package body pkg_news is

--搜尋新聞,注意分頁部分還可以再優化一下。

procedure searchnews (pfilter in varchar2,ppage number,precordperpage out number,pallrecord out number,curnews out curbase) is

vsql varchar(1000);

begin

precordperpage:=30;

vsql:='select count(*) from v3news where (1=1)  ' || pfilter;

execute immediate vsql into pallrecord;

vsql:='select rnum,nid,ncid,ncname,nfrom,nname,ndate,nclick from (select rownum rnum,v3news.* from v3news where (1=1) '|| pfilter || ') v3news  where rnum>' ||

to_char((ppage-1)*precordperpage) || ' and rnum<=' || to_char(ppage*precordperpage);

open curnews for vsql ;

end;

end;

.net程式dao層

using

system;

using

system.collections.generic;

using

system.text;

using

system.data;

using

system.data.oracleclient;

namespace

newsdal

catch

(exception e)

finally}}

}

oracle分頁儲存過程

page slide procedure author robert.c time 2006.11.17 create or replace procedure tablepage select v page size int,the size of a page of list v current...

Oracle分頁儲存過程

第一步要先建立包 create or replace package pkg query is type cur query is ref cursor procedure met down query m tablename in varchar2,表名 m strwhere in varchar...

Oracle分頁儲存過程

第一步要先建立包 create or replace package pkg query is type cur query is ref cursor procedure met down query m tablename in varchar2,表名 m strwhere in varchar...