我编写了以下存储过程以将多个数据集返回到我的前端 .Net 应用程序
create or replace PROCEDURE GET_EMPLOYEE_INFO
(
EMP_NO IN VARCHAR2,
E_RECORD_SET1 OUT SYS_REFCURSOR,
E_RECORD_SET2 OUT SYS_REFCURSOR,
E_RECORD_SET3 OUT SYS_REFCURSOR,
E_RECORD_SET4 OUT SYS_REFCURSOR
) AS
BEGIN
OPEN E_RECORD_SET1 FOR
SELECT * FROM EMP.EMPLOYEES;
OPEN E_RECORD_SET2 FOR
SELECT * FROM EMP.CITIES;
OPEN E_RECORD_SET3 FOR
SELECT * FROM EMP.STATES;
OPEN E_RECORD_SET1 FOR
SELECT * FROM EMP.DURATION;
每个查询都可以自行正确执行。当我执行存储过程时,它会显示结果集,但我不相信正在获取所有数据。在底部,它仍然显示“RUNNING IDE CONNECTION”。
- 程序是否循环?
- 类型有限制
SYS_REFCURSOR
吗? - 我需要关闭这些游标吗?