先创建一个包

create or replace package testpackage as type test_cursor is ref

cursor;

end testpackage;

create or replace procedure fenye

(tableName in varchar2,

pageSize in number, --一页显示记录数

pageNow in number,

myrows out number, --记录总数

myPageCount out number,--总页数

p_cursor out testpackage.test_cursor --返回的记录集

) is

--定义部分

--定义sql语句 字符串

v_sql varchar2(1000)--也可以设置更大,不过一般1000的长度足矣

--定义两个整数

v_begin number:=(pageNow-1)*pageSize+1;

v_end number:=pageNow*pageSize;

begin

--执行部分

v_sql:='select * from (select t1.*,rownum rn from (select * from

'|| tableName

||') t1 where rownum<='|| v_end||') where

rn>='||v_begin;

--把游标和sql关联

open p_sursor for v_sql;

--技术myrows和myPageCount

--组织一个sql

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

--执行sql,并把返回的值赋给myrows;

execute immediate v_sql into myrows;

--计算myPageCount

if mod(myrows,pageSize)=0 then

myPageCount=myrows/pageSize;

else

myPageCount=myrows/pageSize+1;

end if;

--关闭游标

--close p_cursor;

end;

oracle 分页过程,oracle存储过程分页的完整例子相关推荐

  1. oracle结束过程,oracle 结束被锁的包或存储过程

    问题现象: 在pl/sql编译包或者是存储过程procedure等,编译一直未响应. 问题原因: ORACLE 存储过程或包被锁,编译不了 问题解决方法: 第一步:查找存储过程被哪些session锁住 ...

  2. oracle 邮件过程,oracle 发邮件 存储过程

    CREATE OR REPLACE PROCEDURE send_mail( p_recipient VARCHAR2, -- 邮件接收人 p_subject   VARCHAR2, -- 邮件标题 ...

  3. oracle 处理过程,Oracle SQL语句处理过程(转载)

    一般来说,数据库处理SQL都会经过三个过程:分析.执行.返回结果,比如COGNOS ReportNet通过拖放式完成表现层后,还是会自动生成SQL,然后将SQL传递到ORACLE进行处理. 1.分析 ...

  4. oracle万能分页代码,Oracle万能分页法的存储过程

    Oracle万能分页法的存储过程 --创建一个包,在包中定义一个 游标类型 create or replace package testfenyepackage as type test Oracle ...

  5. oracle万能分页代码,oracle高效分页存储过程代码

    oracle高效分页存储过程代码 create or replace package p_page is -- author : pharaohs -- created : 2006-4-30 14: ...

  6. oracle接收输入参数,Oracle带输入输出参数存储过程(包括sql分页功能)

    记录一下,免得以后忘记了又要到处去找. begin /*这里不能直接执行select语句但可以直接执行update.delete.insert语句*/ end里面不能接执行select语句,声明会话级 ...

  7. ASP.NET调用Oracle分页存储过程并结合ASPnetpager分页控件 实现分页功能

    之前用的是GridView自带的分页功能,那速度啊慢的真实不行  ,决定自定义分页  Oracle库里有5W多条数据 AspnetPager做的还是不错,拿过来用 Oracle 分页存储过程: cre ...

  8. [数据库]Oracle和mysql中的分页总结

    Mysql中的分页 物理分页 •在sql查询时,从数据库只检索分页需要的数据 •通常不同的数据库有着不同的物理分页语句 •mysql物理分页,采用limit关键字 •例如:检索11-20条 selec ...

  9. oracle mssql 实例,oracle,mysql,SqlServer三种数据库的分页查询的实例

    MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数.一般只需要直接写到sql语句后面就行了. LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数, ...

最新文章

  1. c语言 printf右对齐,杨辉三角右对齐
  2. JCheckBox用法
  3. 程序员的修养--读书笔记
  4. varnish的服务配置(实验说明)
  5. Spring Boot-@Value获取值和@ConfigurationProperties获取值的比较
  6. thinkphp python_ThinkPhp 5.0 服务器搭建问题总结
  7. advanced installer更换程序id_好程序员web前端培训分享kbone高级-事件系统
  8. Wine 1.5.15 发布
  9. Win10删除资源管理器左侧的Onedrive图标
  10. 如何统计当前Spark程序有多少分区?
  11. PHP设计模式——抽象工厂
  12. 【CTR】ESMM:多任务联合学习
  13. 下载安装Redis+使用
  14. win7 卸载虚拟机重装提示请您确认有足够的权限安装....
  15. 单个产品出库扣减库存
  16. 单细胞分析实录(18): 基于CellPhoneDB的细胞通讯分析及可视化 (上篇)
  17. 使用Mockito创建Mcok和Spy
  18. win用户计算机批量添加用户,win10系统巧用cmd命令快速创建新账户的技巧
  19. assigning the result of this type assertion to a variable could eliminate the followin assertion解决
  20. 摄像头、视频采集和摄像设备图像质量判断的几种简单有效目测方法

热门文章

  1. asp.net2.0 GridView 导出到 Excel
  2. 分治法的经典问题——大整数相乘
  3. node.js抓取数据(fake小爬虫)
  4. Perl 学习笔记-输入输出
  5. 浏览器控制台console
  6. Js整理工具-开发必备
  7. PostgreSQL的notify 与listen (三)
  8. C# 查农历 阴历 阳历 公历 节假日
  9. 使用gdb进行调试入门篇
  10. [转载] python函数isdisjoint方法_Python中的isdisjoint()函数