【发布时间】:2016-03-24 08:41:13
【问题描述】:
我正在使用 Java 调用 PL/SQL 中的存储函数,该函数返回 REF CURSOR:
FUNCTION getApprovers RETURN approvers_cursor IS
approvers approvers_cursor;
BEGIN
OPEN approvers FOR
select * from role where role_name = 'APPROVER';
RETURN approvers;
END;
如果我在RETURN approvers 之前关闭光标
CLOSE approvers;
RETURN approvers;
我在 Java 中收到警告 - Cursor is Closed。
我似乎无法关闭 PL/SQL 存储函数中的游标。那么光标的关闭发生在哪里呢?
【问题讨论】:
-
完成后需要致电
ResultSet.close()。 -
结果集是游标;就像您直接执行
select查询一样。