知识大全 oracle存储过程分页代码

Posted

篇首语:天才就是百分之九十九的汗水加百分之一的灵感。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 oracle存储过程分页代码相关的知识,希望对你有一定的参考价值。

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

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

   包头

  create or replace package pck_my is

  type c_my is ref cursor;

  procedure page_moed(

  v_table in varchar 表名

  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 varchar

  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 varchar ( );

  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:= ;

  end if;

  if pageSize<= then

  pageSize:= ;

  end if;

   计算 最大行 最小行

  v_max:=(current_page+ )*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)= then

  countPage:=total/pageSize;

  else

  countPage:=total/pageSize+ ;

  end if;

   exception

  exception

  when e_table then

  dbms_output put_line( 表名不能为空 );

  end;

  end pck_my;

   exet

  select * from filminfo

  java测试代码

  []

  package rui;

  import java sql CallableStatement;

  import java sql Connection;

  import java sql DriverManager;

  import java sql ResultSet;

  import java sql SQLException;

  public class Pckage

  /**

  * @param args

  */

  public static void main(String[] args)

  Connection con;

  ResultSet rs;

  CallableStatement cs;

  try

  Class forName( oracle jdbc driver OracleDriver );

  con=DriverManager getConnection( jdbc:oracle:thin:@localhost: :ABC tenement rui );

  String sql= call pck_my page_moed(? ? ? ? ? ?) ;

  cs=con prepareCall(sql);

  //指定类型

  /* v_table in varchar

  current_page in out number

  pageSize in out number

  total out number

  countPage out number

  c_cursor out pck_my c_my

  */

  //cs setString( null);

  cs setString( filminfo );

  cs setInt( );

  cs setInt( );

  cs registerOutParameter( oracle jdbc OracleTypes NUMBER);

  cs registerOutParameter( oracle jdbc OracleTypes NUMBER);

  cs registerOutParameter( oracle jdbc OracleTypes CURSOR);

  cs execute();

  int total=cs getInt( );//总行数

  int countPage=cs getInt( );//总页数

  rs=(ResultSet)cs getObject( );//result

  System out println( 总行数 +total+ \\t总页数 +countPage);

  System out println( );

  while(rs next())

  System out println( FILMNAME: +rs getString( FILMNAME )+ \\tFILMID: +rs getInt( FILMID ));

  

   catch (ClassNotFoundException e)

  // TODO Auto generated catch block

  e printStackTrace();

   catch (SQLException e)

  // TODO Auto generated catch block

  e printStackTrace();

  

  

cha138/Article/program/Oracle/201311/17872

相关参考

知识大全 一个简单的oracle分页存储过程的实现和调用

  在看了众多的分页存储过程以后发现都是针对sqlserver的而没有oracle的因此想写一个关于oracle的存储过程因为我用到的数据库是oracleoracle分页存储过程的思路于sqlserv

知识大全 oracle分页存储过程

  createorreplacepackagemypack  as  typecursortestCursorisrefcursor;  endmypack;  tableName表名pageSiz

知识大全 三层+存储过程实现分页示例代码

  前台设计复制代码代码如下:<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="pagingaspxcs"Inherits="五二一练习

知识大全 MSsql数据库如何实现分页存储的代码实例

MSsql数据库如何实现分页存储的代码实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi

知识大全 oracle存储过程创建表分区实例

  用存储过程创建数据表:创建时注意必须添加authidcurrent_user如果创建的表已存在存储过程继续执行但如不不加此关键语句存储过程将出现异常这个语句相当于赋权限例创建语句如下  复制代码代

知识大全 分页SQLServer存储过程

分页SQLServer存储过程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /*用存储过程实现

知识大全 sql存储过程分页算法研究

  “俄罗斯存储过程”的改良版  CREATEprocedurepagination(@pagesizeint页面大小如每页存储条记录@pageindexint当前页码)assetnocountonb

知识大全 高效SQL分页存储过程(2)

高效SQL分页存储过程(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Book类负责查询数

知识大全 sql存储过程分页

  CREATEPROCmyx_prPageRecordset   @queryStrnvarchar()   @keyFieldnvarc

知识大全 SQL大数据量分页存储过程效率测试

SQL大数据量分页存储过程效率测试  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  /*存储过程分