oracle分页存储过程 oracle存储过程实例_oracle

复制代码 代码如下:

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestPage {

 public TestPage() {
 }
 public static void main(String[] args) {
  String driver = "oracle.jdbc.driver.OracleDriver";
  String strUrl = "jdbc:oracle:thin:@localhost:1521:xmgl";
  String username = "xmgl";
  String password = "xmgl";
  Statement stmt = null;
  ResultSet rs = null;
  Connection conn = null;
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection(strUrl, username, password);
   System.out.println("ok");
   CallableStatement cs = null;
   //创建CallableStatement
   cs = conn.prepareCall("{call page.fenye(?,?,?,?,?,?)}");
   cs.setString(1, "mytest");//表名
   cs.setInt(2, 3);//显示几条记录
   cs.setInt(3, 1);//第几页
   //注册总记录数,声明输出参数是什么类型的
   cs.registerOutParameter(4,oracle.jdbc.OracleTypes.INTEGER);
   //注册总页数
   cs.registerOutParameter(5,oracle.jdbc.OracleTypes.INTEGER);
   //注册返回的结果集
   cs.registerOutParameter(6,oracle.jdbc.OracleTypes.CURSOR);
   cs.execute();
   //取出总记录数 /这里要注意,getInt(4)中4,是由该参数的位置决定的
   int rowNum=cs.getInt(4);//获得输出参数
   int pageCount = cs.getInt(5);
   rs=(ResultSet)cs.getObject(6);

   System.out.println("rowNum="+rowNum);
   System.out.println("总页数="+pageCount);
   while (rs.next()) {
    System.out.println("编号:"+rs.getInt(1)+" 名字:"+rs.getString(2)+" 密码:"+rs.getString(3));
   }
  } catch (SQLException ex2) {
   ex2.printStackTrace();
  } catch (Exception ex2) {
   ex2.printStackTrace();
  } finally {
   try {
    if (rs != null) {
     rs.close();
     if (stmt != null) {
      stmt.close();
     }
     if (conn != null) {
      conn.close();
     }
    }
   } catch (SQLException ex1) {
   }
  }
 }
}

时间: 2024-10-29 14:33:45

oracle分页存储过程 oracle存储过程实例_oracle的相关文章

oracle 临时表详解及实例_oracle

在Oracle8i或以上版本中,可以创建以下两种临时表: 1.会话特有的临时表 CREATE GLOBAL TEMPORARY <TABLE_NAME> ( <column specification> ) ON COMMIT PRESERVE ROWS:  2.事务特有的临时表 CREATE GLOBAL TEMPORARY <TABLE_NAME> ( <column specification> ) ON COMMIT DELETE ROWS: CRE

oracle 分页查询-Oracle数据库分页查询

问题描述 Oracle数据库分页查询 分页查询语句.之前用java获取分页信息是分两步走的,首先获取想要得到的字段信息,第二部获取总记录数count(*).现在因为种种原因,就是想请教高手一下,能不能在一个sql中,查询出这些信息包括总记录数.比如 表 test 字段有id,name. select * from (select A.*,ROWNUM RN from(select * from test) A where ROWNUM<=11) where RN>=1; 这是分开写时,查询的语

sql-jsp +oracle分页问题 主要是在SQL语句上

问题描述 jsp +oracle分页问题 主要是在SQL语句上 <%@ page language=""java"" contentType=""text/html; charset=UTF-8"" pageEncoding=""UTF-8""%> <%@page import=""java.sql.*""%><!DO

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

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

asp + oracle 分页方法 (不用存储过程)

oracle|存储过程|分页   asp 中查询 oracle数据库 的分页程序,没有用存储过程,效率还可以. 代码如下: ''''  塞北的雪  分页利器(oracle)  不用存储过程   ------------------------- '其中注释中有 ###的需要用户设置 '其中注释中有 参数传递 ** 的 说明要通过参数 传递. '定义变量dim tOption                  '查询条件dim tOrder                   '排序字符串    

创建 Oracle 分页存储过程

,可以在执行时将其设置为指向不同的结果集.使用 REF CURSOR 输出参数可以将 Oracle 结构化程序的结果集传递回调用应用程序.通过在调用应用程序中定义 OracleType.Cursor 数据类型的输出参数,可以访问 REF CURSOR 所指向的结果集. create or replace package MF_PAK_001 is type t_cursor is ref cursor; procedure GetDataByPage( p_tableName varchar2,

Oracle开发人员 JAVA存储过程

oracle|存储过程  Oracle开发人员 JAVA存储过程 利用Java存储过程简化数据库操作 作者:Kuassi Mensah 利用Java存储过程沟通SQL.XML.Java.J2EE和Web服务. 存储过程(stored procedure)允许将运行于数据库层中的持久性逻辑与运行于中间层中的商务逻辑有效地分离开来.这种分离可以降低整个应用程序的复杂性,并提供其重用性.安全性.性能和可伸缩性. 但是,妨碍存储过程广泛采用的一个主要障碍是不同数据库厂商使用各种专有的.且依赖于数据库的实

oracle中函数和存储过程简单示例-动态sql

oracle中函数和存储过程 1. 函数 create or replace function getArtCount(keyword in varchar2) return number as   Result number;    Sqlt varchar2(4000); begin    -- select t.sys_documentid into Result from dom_2_doclib t where t.sys_topic like '%key%';        -- s

sql-SQL,oracle,数据库,存储过程相关问题

问题描述 SQL,oracle,数据库,存储过程相关问题 写一个名称为 fun_get_cust_interest 的函数, 传入参数有2个,一个是日期: i_cworkdate,一个是机构:org_lvl4 1.要求从 poc.dcam_ac 表中 计算各账户的利息(利息=对客利率rate*当前账面余额bal/360), 2.计算完毕后,按日期AS_OF_DATE.机构ORG_UNIT_ID分组 插入到表 price.price_org_interest 表中, [price.price_or

oracle带游标的存储过程列子

问题描述 oracle带游标的存储过程列子 oracle带游标的存储过程列子简单点, 能用就行.主要是实现将一个表中的一个字段当条件使用 解决方案 begin for c in (select * from dual) loop update dual set a=c.a where a=c.a; end loop; end ; 解决方案二: Oracle存储过程,带游标oracle带游标的存储过程oracle 存储过程 游标 解决方案三: for c in (select * from tab