From: | "Hibiki" <npolanco(at)cuij(dot)edu(dot)cu> |
---|---|
To: | "'Lista Postgres ES'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Formato de consulta |
Date: | 2016-04-06 15:48:54 |
Message-ID: | 008401d1901b$d4bda490$7e38edb0$@cuij.edu.cu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Juan | 2016-04-06 16:25:08 | Re: Error en una funcion.... |
Previous Message | Jorge Gonzalez | 2016-04-06 15:37:22 | Re: [pgsql-es-ayuda] Vista con pase de parámetros |