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.



Responder a