详解Oracle在out参数中访问光标

一 概念
申明包结构
包头:负责申明
包体:负责实现
二 需求
查询某个部门中所有员工的所有信息
三 包头
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在out参数中访问光标
# Oracle在out参数中访问光标的实例详解
# Oracle的out参数实例详解
# Oracle中serveroutput参数一次设置永久保存方法
# Oracle 子程序参数模式
# IN
# OUT
# NOCOPY
# 如有
# 希望能
# 谢谢大家
# 存储过程
# 应用程序
# 门中
# 包中
# 疑问请
# 该部
# import
# java
# CallableStatement
# oracle
# deptno
# package
# demo
# utils
# Test
# junit
# ref
相关文章:
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何通过云梦建站系统实现SEO快速优化?
Thinkphp 中 distinct 的用法解析
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何选择适配移动端的WAP自助建站平台?
如何选择高性价比服务器搭建个人网站?
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
如何通过商城自助建站源码实现零基础高效建站?
如何快速生成可下载的建站源码工具?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
建站之星备案是否影响网站上线时间?
英语简历制作免费网站推荐,如何将简历翻译成英文?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
如何在七牛云存储上搭建网站并设置自定义域名?
高端云建站费用究竟需要多少预算?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
如何做网站制作流程,*游戏网站怎么搭建?
网站制作公司,橙子建站是合法的吗?
高端网站建设与定制开发一站式解决方案 中企动力
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
如何访问已购建站主机并解决登录问题?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
如何在建站之星网店版论坛获取技术支持?
黑客入侵网站服务器的常见手法有哪些?
如何在香港免费服务器上快速搭建网站?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
高防服务器租用如何选择配置与防御等级?
如何生成腾讯云建站专用兑换码?
详解jQuery停止动画——stop()方法的使用
如何在IIS管理器中快速创建并配置网站?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
如何快速搭建高效可靠的建站解决方案?
如何选择高效稳定的ISP建站解决方案?
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
青岛网站建设如何选择本地服务器?
如何通过VPS建站无需域名直接访问?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
如何快速打造个性化非模板自助建站?
如何快速搭建虚拟主机网站?新手必看指南
网站制作话术技巧,网站推广做的好怎么话术?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
如何用5美元大硬盘VPS安全高效搭建个人网站?
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
广州营销型建站服务商推荐:技术优势与SEO优化解析
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
*请认真填写需求信息,我们会在24小时内与您取得联系。