一 概念
申明包结构
包头:负责申明
包体:负责实现
二 需求
查询某个部门中所有员工的所有信息
三 包头
CREATE OR REPLACE
PACKAGE MYPACKAGE AS
type empcursor isref cursor;
procedure queryEmplist(dno in number,emplist out empcursor);
END MYPACKAGE;
四 包体
包体需要实现包头中声明的所有方法
CREATE OR REPLACE
PACKAGE BODY MYPACKAGE AS
procedure queryEmplist(dno in number,emplist out empcursor) AS
BEGIN
--打开光标
open emplist forselect*from emp where deptno = dno;
END queryEmplist;
END MYPACKAGE;
五 在应用程序中访问包中的存储过程
1、代码
package demo.oracle;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.ResultSet;
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.OracleTypes;
import org.junit.Test;
import demo.utils.JDBCUtils;
publicclassTestCursor{
/*
CREATE OR REPLACE PACKAGE MYPACKAGE AS
type empcursor is ref cursor;
procedure queryEmplist(dno in number,emplist out empcursor);
END MYPACKAGE;
* */
@Test
publicvoid testCursor(){
String sql="{call MYPACKAGE.queryEmplist(?,?)}";
Connection conn =null;
CallableStatement call =null;
ResultSet rs =null;
try{
//获取数据库的连接
conn =JDBCUtils.getConnection();
//创建statement
call = conn.prepareCall(sql);
//对于in参数,赋值
call.setInt(1,10);
//对于out参数,申明
call.registerOutParameter(2,OracleTypes.CURSOR);
//执行调用
call.execute();
//取出该部门中所有员工的信息
rs =((OracleCallableStatement)call).getCursor(2);
while(rs.next()){
//取出该员工的员工号,姓名,薪水和职位
int empno = rs.getInt("empno");
String name =rs.getString("ename");
double salay = rs.getDouble("sal");
String job = rs.getString("empjob");
System.out.println(empno+"\t"+name+"\t"+salay+"\t"+job);
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.release(conn, call, rs);
}
}
}
2、运行结果
7782 CLARK 6450.0 MANAGER
7839 KING 10100.0 PRESIDENT
7934 MILLER 3300.0 CLERK
相关推荐
主要介绍了详解Oracle在out参数中访问光标的相关资料,这里提供实例代码帮助大家学习理解这部分内容,希望能帮助到大家,需要的朋友可以参考下
oracle实现带参数视图,里面有例子,很好的一个东西。
Oracle执行计划参数解释,Oracle SQL优化的基础是看懂Oracle的执行计划,本文当系统整理了Oracle执行计划里面的各种参数。
我们可以利用out参数,在过程和函数中实现返回多个值。 3、存储过程和存储函数都可以有out参数。 4、存储过程和存储函数都可以有多个out参数。 5、存储过程可以通过out参数来实现返回值。 6、如果只有一个返回值,用...
ORACLE初始化参数详解 ORACLE初始化参数详解
oracle 19c数据库参数优化最佳实践
在oracle安装或者是参数调整过程中,经常涉及到很多参数,本文档就是这些参数的中文说明解释。需要的朋友可以下载。
介绍如何对Oracle初始化参数文件进行配置。
Oracle初始化参数,对oracle参数有详细的说明
ORACLE参数调优方案ORACLE参数调优方案ORACLE参数调优方案
过时参数,顾名思义就是在 Oracle 以前的版本中存在,但在新版本中已经淘汰了的参数,已经不再使用;而强调参数,是指那些在新版本中保留了下来,但是除非特殊需要不希望用户使用的那些参 数。在视图 V$OBSOLETE_...
查看processes和sessions参数 第一步,在cmd命令行,输入sqlplus 第二步,根据提示输入用户名与密码
ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析 ORACLE数据库参数优化与分析
oracle 初始化参数 的列表及说明
ORACLE 11G 安装后只能localhost 访问...在监听文件 listener.ora 中加入如下: (SID_DESC = (GLOBAL_DBNAME = orcl01) (ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1) (SID_NAME = orcl01) )
Oracle 数据库系统根据初始化参数文件 init.ora 中设置的参数来配置自身的启动,每个实例在启动之前,首先读取这些参数文件中设置的不同参数... ...
oralce详细导入导出参数解释,详细解释了与imp,exp的区别
oracle service_name参数