以下开发例子参见两个附件的图片:
JAVA调用ORACLE的存储过程、函数的返回结果集的JAVA开发界面.JPG
JAVA调用ORACLE的存储过程、函数的返回结果集的PL-SQLDEPVELOPER界面.JPG
具体过程如下:
--例子开发工具:
oralce数据库版本:oralce9i ,10G
oralce的JDBC驱动:class12.zip ,主要下载该驱动包后,才可以连接oracle
oralce数据库脚本执行工具: PL/SQL Developer Version 7.1.4.1390
JAVA的IDE工具: ECLIPSE 3.1以上
--开始准备:
-- 用SYSTEM或者SYS用户 登陆到oralce中
-- 建立ZZH_TEST用户,该用户的密码为ZZH_TEST
--
--用ZZH_TEST用户进入到 PL/SQL Develope中,以下表、存储过程、函数均建立在ZZH_TEST用户中
--(一).建立一张测试表
--建立表:
CREATE TABLE STOCK_PRICES(
RIC VARCHAR(6) PRIMARY KEY,
PRICE NUMBER(7,2),
UPDATED DATE );
/
--对表插入数据
INSERT INTO stock_prices
SELECT '1110',1.0,SYSDATE FROM DUAL;
INSERT INTO stock_prices
SELECT '1111',2.0,SYSDATE FROM DUAL;
INSERT INTO stock_prices
SELECT '1112',3.0,SYSDATE FROM DUAL;
INSERT INTO stock_prices
SELECT '1113',4.0,SYSDATE FROM DUAL;
--检查数据是否插入
SELECT * FROM stock_prices
--(二).建立一个返回游标
CREATE OR REPLACE PACKAGE ZZH_TEST.PKG_PUB_UTILS IS
--动态游标
TYPE REFCURSOR IS REF CURSOR;
END PKG_PUB_UTILS;
/
--(三).创建一个测试用的存储过程
CREATE OR REPLACE PROCEDURE ZZH_TEST.P_GET_PRICE(AN_O_RET_CODE OUT NUMBER,
AC_O_RET_MSG OUT VARCHAR2,
CUR_RET OUT PKG_PUB_UTILS.REFCURSOR,
AN_I_PRICE IN NUMBER
) IS
BEGIN
AN_O_RET_CODE := 0;
AC_O_RET_MSG := '操作成功';
OPEN CUR_RET FOR
SELECT * FROM STOCK_PRICES WHERE PRICE<AN_I_PRICE;
EXCEPTION
WHEN OTHERS THEN
AN_O_RET_CODE := -1;
AC_O_RET_MSG := '错误代码:' || SQLC