详解Oracle在out参数中访问光标
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,详解Oracle在out参数中访问光标一 概念申明包结构包头:负责申明包体:负责实现二 需求查询某个部门中所有员工的所有信息三 包头CREATE OR REPLACE PACKAGE MYPACKAG
千家信息网最后更新 2026年11月02日详解Oracle在out参数中访问光标
详解Oracle在out参数中访问光标
一 概念
申明包结构
包头:负责申明
包体:负责实现
二 需求
查询某个部门中所有员工的所有信息
三 包头
CREATE OR REPLACE PACKAGE MYPACKAGE AS type empcursor isref cursor; procedure queryEmplist(dno in number,emplist out empcursor);END MYPACKAGE;
四 包体
包体需要实现包头中声明的所有方法
CREATE OR REPLACEPACKAGE BODY MYPACKAGE AS procedure queryEmplist(dno in number,emplist out empcursor) ASBEGIN--打开光标 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; * */@Testpublicvoid 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 MANAGER7839 KING 10100.0 PRESIDENT7934 MILLER 3300.0 CLERK
以上就是Oracle在out参数中访问光标的实例,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
参数
员工
光标
包头
信息
代码
姓名
实例
就是
应用程序
数据
数据库
方法
概念
疑问
社区
程序
结构
结果
职位
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广东万易互联网科技有限公司惠州分公司
新华互联网科技学校
互联网科技公司华为
美国互联网保险保险科技
中国互联网科技股
互联网与科技金融数据
科技互联网技术
高科技与互联网
善班互联网科技有限公司
腾讯科技 互联网女皇
成都狮子座互联网科技
农村开互联网科技讲堂
成都互联网科技公司100强
金融科技与互联网金融相同和不同
互联网金融科技公司干啥的
和信科技工业互联网
工业互联网山东科技大学
浙南科技城互联网大厦招聘
山东蛋芒互联网科技有限公司
高科技和互联网的现代国家
互联网科技产业
科技互联网龙头
狮子座互联网科技有限公司
深圳艾佳互联网科技
中国最先进互联网科技公司
互联网科技中介
开一家科技互联网公司需要多少钱
互联网科技圈年度人物
云鲸互联网络科技有限公司
唐山双旺合互联网科技产业园