【发布时间】:2018-06-18 06:47:50
【问题描述】:
我在包中定义了一个存储过程。该过程接受两个参数,一个是游标:
create or replace PACKAGE TESTPACKAGE IS
TYPE STATUSCURSOR IS REF CURSOR;
PROCEDURE TestProcedure(cId IN VARCHAR2,
StatusCursonVal IN OUT STATUSCURSOR);
END;
我这样调用程序:
String sql = "EXEC TESTPACKAGE.TestProcedure('testId')";
Query query = session.createSQLQuery(sql);
List list = query.list();
返回以下错误:
13:03:25,338 INFO [stdout](默认任务 3)休眠:EXEC TESTPACKAGE .TestProcedure('testId')
13:03:25,749 WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper](默认任务 3)SQL 错误:900,SQLState:42000 13:03:25,750 错误 [org.hibernate.engine.jdbc.spi.SqlExceptionHelper](默认任务 3)ORA-00900:无效 SQL 语句
并且异常状态为“无法提取结果集”。
我尝试在 SQL Developer 中执行该过程,但失败了。似乎问题是我只使用一个参数执行该过程,但它也有一个 IN OUT 参数。
请帮助我如何调用此过程。
问候, 阿尼尔班。
【问题讨论】:
标签: java oracle hibernate stored-procedures