¿Cómo declarar% ROWTYPE de una variable que es un SYS_REFCURSOR de tipo débil?
Código W.r.t a continuación No puedo declarar el tipo de búsqueda en variable como% ROWTYPE de la tabla subyacente porque el SYS_REFCURSOR está en una selección que une dos tablas y también selecciona algunas funciones llamadas en los atributos de las dos tablas subyacentes; es decir, no puedo declarar como L_RECORD T% ROWTYPE
---
DECLARE
P_RS SYS_REFCURSOR;
L_RECORD P_RS%ROWTYPE;
BEGIN
CAPITALEXTRACT(
P_RS => P_RS
);
OPEN P_RS;
LOOP
BEGIN
FETCH P_RS INTO L_RECORD;
EXIT WHEN P_RS%NOTFOUND;
...
EXCEPTION
WHEN OTHERS THEN
...
END;
END LOOP;
CLOSE P_RS;
END;
--------
CREATE or REPLACE PROCEDURE CAPITALEXTRACT
(
p_rs OUT SYS_REFCURSOR
) AS
BEGIN
OPEN p_rs for
select t.*,tminusone.*, f(t.cash), g(t.cash) FROM T t, TMINUSONE tminusone
where t.ticket=tminusone.ticket;
END CAPITALEXTRACT;
Por supuesto, no quiero definir una tabla estática R con columnas como se devuelve en SYS_REFCURSOR y luego declarar como L_RECORD R% ROWTYPE.
Y de ahí la pregunta: ¿cómo declarar% ROWTYPE de una variable que es un SYS_REFCURSOR de tipo débil?