Buenos días.
Tengo que implementar un procedimiento mayor donde en una variable se almacene el resultado de una función o procedimiento (ya he creado ambos), ambos retornan una selección hecha a una tabla de la base de datos, dicho resultado tengo que transformarlo a varchar para continuar con la realización del procedimiento mayor.
---CÓDIGO DEL PROCEDIMIENTO
create or replace
procedure pr_equipos(
cv_results out sys_refcursor)
is
begin
open cv_results for
select e.nombre as t_nombre, count(co.id_componente) as t_contador from tb_equipo e inner join
tb_componente co on e.id_equipo=co.id_equipo where co.fecha_fin < sysdate GROUP BY e.nombre ;
end;
Lo llamo así
variable rc2 refcursor;
execute pr_equipos(:rc2);
print rc2;
----CÓDIGO DE LA FUNCIÓN
create or replace
FUNCTION GET_EQUIPOS(n in number default null)
RETURN NESTED_DATOSTABLE
AS
V_NESTED_DATOSTABLE NESTED_DATOSTABLE;
BEGIN
SELECT DATOSTABLE(A.t_nombre, A.t_contador)
BULK COLLECT INTO V_NESTED_DATOSTABLE
FROM
(select e.nombre as t_nombre, count(co.id_componente) as t_contador from tb_equipo e inner join tb_componente co on e.id_equipo=co.id_equipo
where co.fecha_fin < sysdate GROUP BY e.nombre
) A;
RETURN V_NESTED_DATOSTABLE;
EXCEPTION
WHEN OTHERS THEN
V_NESTED_DATOSTABLE.DELETE;
RETURN V_NESTED_DATOSTABLE;
END;
La llamo así
select * from table(GET_EQUIPOS)
Necesito convertir el resultado de uno de estos dos (procedimiento o función) a varchar. ¿Cómo podría hacerlo? Les estaré agradecido ante cualquier ayuda.