> 데이터 베이스 > MySQL 튜토리얼 > oracle存储过程分页代码

oracle存储过程分页代码

PHP中文网
풀어 주다: 2016-06-07 15:02:43
원래의
1103명이 탐색했습니다.

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 oracle存储过程分页代码是怎么实现的,我们来看下中国IT实验小编为您整理的方法吧! /*******存储过程分页代码**********/ --包头 create or replace package pck_my is type c_my is ref cursor; pr

 

欢迎进入Oracle社区论坛,与200万技术人员互动交流  >>进入

  oracle存储过程分页代码是怎么实现的,我们来看下中国IT实验小编为您整理的方法吧!

  /*******存储过程分页代码**********/

  --包头

  create or replace package pck_my is

  type c_my is ref cursor;

  procedure page_moed(

  v_table in varchar2, --表名

  current_page in out number,--当前页

  pageSize in out number,--页行数

  total out number,--总行数

  countPage out number,--总页数

  c_cursor out pck_my.c_my--游标

  );

  end pck_my;

  --body

  create or replace package body pck_my as

  procedure page_moed(

  v_table in varchar2,

  current_page in out number,

  pageSize in out number,

  total out number,

  countPage out number,

  c_cursor out pck_my.c_my

  )is

  v_sql varchar2(1000);

  v_max number;

  v_min number;

  e_table exception;

  begin

  --判断参数

  if v_table is null then

  raise e_table;

  --return;

  end if;

  if current_page is null then

  current_page:=1;

  end if;

  if pageSize<=0 then

  pageSize:=5;

  end if;

  --计算 最大行 最小行

  v_max:=(current_page+1)*pageSize;

  v_min:=current_page*pageSize;

  --获取数据

  v_sql:= 'select *

  from (select filminfo.*, rownum as t from '|| v_table ||' where rownum <='|| v_max||')

  where t > ' ||v_min;

  open c_cursor for v_sql;

  --计算总行数

  v_sql:='select count(*) from '|| v_table;

  execute immediate v_sql into total;

  --计算总页数

  if mod(total,pageSize)=0 then

  countPage:=total/pageSize;

  else

  countPage:=total/pageSize+1;

  end if;

  --exception

  exception

  when e_table then

  dbms_output.put_line('表名不能为空');

  end;

  end pck_my;

  -- exet

  select * from filminfo


[1] [2] 


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿