【发布时间】:2016-03-08 16:11:49
【问题描述】:
我有一个存储过程,它的输出参数是游标
这是我目前使用的存储过程的代码,不知道如何获取返回值
def kf_fpy
sql.call("{call calfpy(?,?,?,?,?)}",[workcenter,product,stattime,endtime,Sql.resultSet(OracleTypes.CURSOR)])
{
cursorResults ->
cursorResults.eachRow() {
x ->
kf_fpy = x.getAt('kf_fpy')//ERROR OCCURED
}
}
我得到一个错误“方法抛出'java.lang.NullPointerException'异常。无法评估$Proxy11.toString()”
存储过程:
PROCEDURE CALFPY(workcenter in varchar2,produ in varchar2,stdt in varchar2,etdt in varchar2,p_out out pkg_package.type_cursor)
PKG_PACKAGE:
create or replace
package pkg_package
as
type type_cursor is ref cursor;
type type_record is record
(
kf_ws varchar2(20),
kf_fpy number,
kf_tfpy number,
kf_pro varchar2(200)
);
end;
【问题讨论】:
-
您能粘贴更多详细信息的堆栈跟踪吗?缺少哪个属性以及代码的哪一行?
-
感谢您的回复,我要做的是创建一个webservice,所以我可以在webservice中调用oracle存储过程,但是过程的返回值是一个CURSOR,我有不知道如何准确获取返回值,能给我举个例子吗?
标签: oracle grails stored-procedures intellij-idea