在Oracle存储过程中是否可以使用单个游标返回多个记录集?
考虑一个Oracle程序
create or replace PROCEDURE MyProc (p_recordset OUT SYS_REFCURSOR) AS
BEGIN
OPEN p_recordset FOR
SELECT EMPLOYEE_ID, FIRST_NAME FROM HR.EMPLOYEES;
SELECT DEPARTMENT_NAME from HR.DEPARTMENTS;
END MyProc;
我知道上面的代码不起作用(或者可能是愚蠢的),并且我们可以使用2个引用光标分别返回记录集,但这不是我需要的。
另外我知道上面的MSSQL服务器是可行的。我们有什么方法可以在Oracle中实现这一目标吗?
注意:如果管理员将此标记为重复,请分享已经回答的链接
答案 0 :(得分:0)
作为一个(相当愚蠢的)解决方法,你可以做到这一点:
OPEN p_recordset FOR
SELECT EMPLOYEE_ID, FIRST_NAME, NULL AS DEPARTMENT_NAME FROM HR.EMPLOYEES
UNION ALL
SELECT NULL, NULL, DEPARTMENT_NAME from HR.DEPARTMENTS;