SQL>SELECT*FROMSTUDENT;
IDNAME AGE
----------- -------------------- -----------
1张三20
2李四25
3王五30
4麻子30
5赵北60
SQL>
createorreplacepackagepack_paging--通过Java来访问列表类型的数据就必须创建带ref游标的包
as
typeref_paging_cursorisrefcursor;--声明ref游标类型
endpack_paging;
createorreplaceprocedurepro_paging(psinnumber,csinnumber,pagingoutpack_paging.ref_paging_cursor)
is
begin
openpagingforselectid,name,agefrom(selects.*,rownumrnfromstudent
s)wherern>cs*(ps-1)andrn<=cs*ps;
end;
packagecom.test.oracle;
importjava.sql.CallableStatement;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
/**
*@Description通过oracle来操作oracle的procedure
*@Author永文
*@Date2015-1-20下午5:05:36
*/
publicclassTestOracleProcedure {
privateStringjdbcDriver="oracle.jdbc.OracleDriver";
privateStringjdbcUrl="jdbc:oracle:thin:@192.168.91.3:1521:jiagulun";
privateConnectionconn=null;
privateCallableStatementcstmt=null;
privateResultSetrs=null;
publicstaticvoidmain(String[]
args) {
newTestOracleProcedure().testOracleProcedurePaging(2, 3);
}
/**
*@Description通过oracle存储过程分页
*@Author永文
*@paramps第几页
*@paramcs每页的记录条数
*@Returnvoid
*/
publicvoidtestOracleProcedurePaging(intps,intcs){
try{
Class.forName(jdbcDriver);
conn= DriverManager.getConnection(jdbcUrl,"hr","hr");
cstmt=conn.prepareCall("{call
hr.pro_paging(?,?,?)}");//调用过程
cstmt.setInt(1, ps);//设置参数
cstmt.setInt(2, cs);//设置参数
cstmt.registerOutParameter(3, oracle.jdbc.OracleTypes.CURSOR);//注册输出参数游标类型
cstmt.execute();
rs= (ResultSet)cstmt.getObject(3);
while(rs.next()){
System.out.println("学号:"+rs.getInt(1)+"姓名:"+rs.getString(2)+"年龄:"+rs.getInt(3));
}
}catch(SQLException e) {
e.printStackTrace();
}catch(Exception e ){
e.printStackTrace();
}finally{//关闭资源
if(conn!=null)
try{
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
if(rs!=null)
try{
conn.close();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
}
|
相关推荐
《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...
第39章 Java存储过程 第40章 Oracle真正应用群集 第41章 网格体系结构和管理 第Ⅷ部分 指南 第42章 Oracle数据字典指南 第43章 调整应用程序和SQL旅行者指南 第44章 调整中的案例分析 第45章 Oracle Application ...
第44章 java 存储过程 第ⅶ部分 指 南 第45章 oracle 数据字典指南 第46章 应用程序和sql 调整指南 第47章 sql 结果缓存和客户端查询缓存 第48章 关于调整的示例分析 第49章 高级体系结构选项—— db...
《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053) 共2部分:此为第002部分 基本信息 原书名: OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM: Exams 1Z0-051, 1Z0-052...
第44章 java 存储过程 第ⅶ部分 指 南 第45章 oracle 数据字典指南 第46章 应用程序和sql 调整指南 第47章 sql 结果缓存和客户端查询缓存 第48章 关于调整的示例分析 第49章 高级体系结构选项—— db...
第44章 java 存储过程 第ⅶ部分 指 南 第45章 oracle 数据字典指南 第46章 应用程序和sql 调整指南 第47章 sql 结果缓存和客户端查询缓存 第48章 关于调整的示例分析 第49章 高级体系结构选项—— db...
《Oracle Database 11g完全参考手册》全面详细地介绍了Oracle Database 11g的强大功能,阐述了如何使用所有的新增功能和工具,如何执行功能强大的SOL查询,如何编写PL/SQL和SQL*Plus语句,如何使用大对象和对象,...
我相信本文会对初学者使用oracle有一个初步的使用印象。右图为我所参 考的书籍。 目录 第一讲 Oacle关系数据库 9 一. Oracle的安装 9 二. 用浏览器进入em 企业管理器 11 三.启动DBCA的方法 11 四.服务设置 11...
OCPOCA认证考试指南全册:Oracle Database 11g(1Z0-051,1Z0-052,1Z0-053) 共2部分:此为第001部分 基本信息 原书名: OCA/OCP Oracle Database 11g All-in-One Exam Guide with CD-ROM: Exams 1Z0-051, 1Z0-052...
2. oracle11G自带一个卸载批处理\app\Administrator\product\11.2.0\dbhome_1\deinstall\deinstall.bat 3. 运行该批处理程序将自动完成oracle卸载工作,最后手动删除\app文件夹(可能需要重启才能删除) 4. 运行...
Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...
JAVA平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变...
系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力,而对象权限则是一种赋予用户在指定的数据库对象(如表、视图、过程等) 16. Oralce数据库在进行物理备份有联机备份和脱机备份两种方式可供选择。 ...
语法: TIMESTAMP '1997-01-31 09:26:50.10' (将值存储为 11 个字节)。 默认值: 从 NLS_TERRITORY 中获得 nls_time_format: 说明: 指定一个字符串值, 设置 TIME 数据类型的默认值, 该数据类型包含 HOUR, MINUTE 和 ...