Java代码调用Oracle的存储过程,存储函数和包
java代码调用如下的存储过程和函数
1 | sql复制代码create or replace procedure queryEmpinfo(eno in number, |
1 | sql复制代码--查询某个员工的年收入 |
1 | sql复制代码--在out参数中使用光标 |
1 | java复制代码import java.sql.CallableStatement; |
关于Oracle中的包对象,之前的存储函数中查询的是某一个员工的信息
1 | sql复制代码create or replace procedure queryEmpinfo(eno in number, |
但是①如果要查询一个员工的所有信息,而这个员工的信息对应的有几百列
在存储函数中括号的函数要把这几百列都声明出来?
②如果要查询某个部门中所有员工的所有信息…这个信息对应的是一个集合.
第二个问题解决了第一个问题也就解决了.
怎么在存储过程或者存储函数中返回一个集合.
学到现在有多少种方式可以代表一个集合?
第一个是表,第二个是select语句也可以.第三个是光标.
在out参数中使用光标.但是有一个要求,必须要声明一个包,包分为包头和包体.也是数据库的对象.跟表,视图,等是一样的是数据库的对象.
包头只负责声明,包体只负责实现.
1 | sql复制代码--在out参数中使用光标 |
分析图
参看包
包无法在plsqldeveloper和sqldeveloper等工具中右键运行….必须通过java代码应用程序来调用执行(代码在上面)
本文转载自: 掘金