Hola a todos:
Estoy ejecutando una función en el pgAdmin comprobando que estén bien antes de
utilizarlas cuando cree la aplicación y me devuelve la información separada ‘,’
en vez de tabulada. ¿Cuándo yo la llame desde php o cualquier otro lenguaje, se
mostrará así o no? ¿Tengo que hacer algo para que se vea tabulada o es que solo
sale así en el pgAdmin?
Ejemplo:
Si ejecuto una consulta de manera directa en el editor de SQL como esto:
SELECT solicitud.nombre, contrato.cancelacion
FROM public.solicitud, public.contrato
WHERE contrato.solicitud_id = solicitud.id
AND contrato.estado_id = 3
Me muestra el resultado tabulado, pero si ejecuto la misma consulta mediante
una function:
CREATE OR REPLACE FUNCTION public.motivo_cancelado(solicitud integer)
RETURNS SETOF descartado AS
$BODY$
DECLARE
result descartado%rowtype;
BEGIN
IF $1 = 0 THEN
FOR result IN
SELECT solicitud.nombre, contrato.cancelacion
FROM public.solicitud, public.contrato
WHERE contrato.solicitud_id = solicitud.id
AND contrato.estado_id = 3
LOOP
RETURN NEXT result;
END LOOP;
ELSE
FOR result IN
SELECT solicitud.nombre, contrato.cancelacion
FROM public.solicitud, public.contrato
WHERE contrato.solicitud_id = solicitud.id
AND contrato.estado_id = 3
AND contrato.solicitud_id = $1
LOOP
RETURN NEXT result;
END LOOP;
END IF;
RETURN;
END;
$BODY$
LANGUAGE plpgsql;
SELECT public.motivo_cancelado(6);
Me devuelve el resultado separado por “coma”
Muchas gracias con antelación.