有人知道我是否可以这样做:(这是来自SP的草图)
CREATE OR REPLACE
PROCEDURE cursor_values(
p_cur_out OUT sys_refcursor
)
IS
p_cur2 sys_refcursor;
BEGIN
sql_query:='select c1,c2 from table';
open p_cur2 for sql_query;
LOOP
-- Check data values
-- Do actions whith the data
END LOOP;
-- Reopen ref_cursor for output
OPEN p_cur_out FOR sql_query;
END cursor_values;
当我执行匿名PL / SQL块(使用SQL Developer)时,我得到了光标。但是当我在Java中使用WebService时,我得到了错误(在Web服务中)
java.sql.SQLException: Cursor is closed.
at oracle.jdbc.driver.T4CResultSetAccessor.getCursor(T4CResultSetAccessor.java:329)
at oracle.jdbc.driver.ResultSetAccessor.getObject(ResultSetAccessor.java:85)
我知道Web服务运行正常。如果我不打开光标,工作正常,但我需要查看数据。
请帮忙,问候!