在ORACLE中将CURSOR结果集从一个存储过程传递到另一个存储过程时,我遇到了问题。检索到的值始终显示为null。
Create or replace proc_1 (arranged_cursor OUT SYS_REFCURSOR)
AS
begin
---- here there is query that joins a couple of tables and I get the result. (not saving result set into any temporary table)
strquery :='SELECT DISTINCT A.COL_A, A.COL_B,B.COL_B FROM T_ALLOC A INNER JOIN T_MAIN B ON A.COL_A= B.COL_A';
OPEN arranged_cursor for strquery;
end
我打电话给PROC_1的下一步程序
Create or replace PROC2()
as CC SYS_REFCURSOR;
var_A INTEGER;
var_B INTEGER;
var_C INTEGER;
begin
PROC_1(CC);
fetch CC INTO var_A,var_B,var_C;
EXIT WHEN cc%NOTFOUND;
-- here var_A, var_B and var_c are always null
END LOOP;
end;
请帮帮我..我做错了什么?我应该将过程1中的结果集插入临时表吗?只有这样它会起作用吗? 请把它卡在这里非常糟糕。