oracle 存储过程实现分页
用oracle数据库的存储过程实现返回结果集并实现分页的功能。
用户传入参数
一下是转别人的代码
--包声明
create or replace package p_page is
-- Author : PHARAOHS
-- Created : 2006-4-30 14:14:14
-- Purpose : 分页过程
TYPE type_cur IS REF CURSOR; --定义游标变量用于返回记录集
PROCEDURE Pagination(
Pindex in number, --分页索引
Psize in number, --页面大小
Pcount out number, --返回分页总数
v_cur out type_cur --返回当前页数据记录
);
procedure PageRecordsCount(
Prcount out number --返回记录总数
);
end p_page;
--包体
create or replace package body p_page is
PROCEDURE Pagination(
Pindex in number,
Psize in number,
Pcount out number,
v_cur out type_cur
)
AS
Psql VARCHAR2(1000);
v_sql VARCHAR2(1000); --
v_count number;
v_Plow number;
v_Phei number;
Begin
Psql := 'select rownum rn,t.* from TABLE_NAME t' ; --选择数据的语句要求必须包含rownum字段
------------------------------------------------------------取分页总数
v_sql := 'select count(*) from (' || Psql || ')';
execute immediate v_sql into v_count;
Pcount := ceil(v_count/Psize);
------------------------------------------------------------显示任意页内容
v_Phei := Pindex * Psize + Psize;
&nb
相关文档:
经常用oracle的人对下面的这条信息肯定不会陌生:“监听程序当前无法识别链接描述符中请求的服务”。其实产生这个问题的根本原因不是监听没有起来,而是监听没有监听你要连接的oracle实例。
大家都明白,oracle只有两者兼备才能向外界提供服务:一个是监听,用于接 ......
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。
下面先来看看例子:
table表
字段1 字段2
&nbs ......
oracle体系结构深入学习Buffer Cache - Overview
oracle 2009-09-02 23:13:26 阅读40 评论0 字号:大中小
涛涛深入学习oracle体系结构
我发觉,英文的一些技术文章在描述oracle原理非常的恰当到位,表达的非常的美,呵呵。英文不好,献丑翻译并学习了,认真看了,相信你受益匪浅。
oracle体系结构之:Buffer Cache - O ......
--创建序列
create sequence innerid
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20
order;
--创建表
create table users(
userid int primary key,
username varchar2(20),
userpwd varchar2(20)
);
select * from users;
insert into users values( ......