From: | Anthony Sotolongo <asotolongo(at)gmail(dot)com> |
---|---|
To: | Hibiki <npolanco(at)cuij(dot)edu(dot)cu>, 'Lista Postgres ES' <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Formato de consulta |
Date: | 2016-04-06 14:56:51 |
Message-ID: | 570523B3.4000208@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Hola, llama a tu función SELECT * from public.motivo_cancelado(6);
saludos
On 06/04/16 12:48, Hibiki wrote:
>
> 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.
>
>
> ------------------------------------------------------------------------
>
> *Universidad de la Isla de la Juventud Jesús Montané Oropesa*
>
> *Dirección: *Carretera Aeropuerto Km , Isla de la Juventud, Cuba
>
> *Teléfono: *(+53) 046 324819
>
> *Sitio Web Nacional: *intranet.cuij.edu.cu <http://intranet.cuij.edu.cu>
>
> *Redes Sociales: *Síguenos en Facebook
> <https://www.facebook.com/Universidad-de-la-Isla-de-la-Juventud-Jes%C3%BAs-Montan%C3%A9-Oropesa-281746041875003>
> y Twitter <https://twitter.com/uijmo>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Anthony Sotolongo | 2016-04-06 15:01:42 | Re: Error en una funcion.... |
Previous Message | MKHotmail | 2016-04-06 14:56:26 | RE: Error en una funcion.... |