Re: Fwd: Consulta no se devuelve en varias columnas

From: Anthony Sotolongo <asotolongo(at)gmail(dot)com>
To: Marcos Pastor <marcousweb(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Fwd: Consulta no se devuelve en varias columnas
Date: 2016-03-20 20:49:39
Message-ID: 56EF0CE3.4040302@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gerardo Herzig te indicaba que podías hacer la llamada con:

(con asterisco, o con los campos que quieras devolver.)

por ejemplo select campo1, campo2, etc, from tu_funcion();

saludos

El 3/20/2016 a las 5:46 PM, Marcos Pastor escribió:
> ok entendido y si no quiero todos los campos sino ciertos ahi si tengo
> que usar parametros out y que retorne setof record verdad?? y para
> llamar a la funcion es tambien con select * from
> public.f_usuario_login( vf_usuario character, vf_clave character )
> ???
>
> Saludos,
>
>
> El 20 de marzo de 2016, 15:32, Anthony Sotolongo <asotolongo(at)gmail(dot)com
> <mailto:asotolongo(at)gmail(dot)com>> escribió:
>
> Hola marcos hay diferencias en el resultado entre llamarla "select
> tu_funcion()" y llamarla select * from tu_funcion(), que raro que
> te devuelva lo mismo. La llamada con tipo RETURN TABLE no es
> necesario llamarla con AS (esto es para tipo RECORD)
>
>
> mira agarre tu función y le hice una homologa de ejemplo y veras
> la diferencia de llamarla de una forma u otra:
>
> CREATE OR REPLACE FUNCTION test2(
> nombre_bd text
>
> )
> RETURNS table(nombre text , dba int, codificacion int ) AS
> $BODY$
> declare
> bd text;
>
>
> begin
> if not exists (select * from pg_database where
> datname=nombre_bd) then
> raise exception 'La Base de datos % no existe en nuestra base
> de datos.', nombre_bd;
> else
> select datname into bd from pg_database where
> datname=nombre_bd and datallowconn='TRUE';
> if not found then
> raise exception 'La base de datos ingresada,no pormite
> conexion';
> else
>
> return query select datname ::text , datdba::int ,
> encoding::int from pg_database where datname=nombre_bd;
>
> end if;
>
> end if;
> end;$BODY$
> LANGUAGE plpgsql VOLATILE
> COST 100;
>
> prueba llamandola de forma distinta y compara el resultado:
> ---llamada 1
> select test2('postgres');
>
> ---llamada 2
> select * from test2('postgres') ;
>
>
> saludos
>
> PD: creo que no me entendiste en el correo anterior donde te dije
> que la llamaras: select * from public.f_usuario_login( vf_usuario
> character, vf_clave character ) ----- :(
>
>
>
>
>
> El 3/20/2016 a las 4:50 PM, Marcos Pastor escribió:
>
> Que tal Anthony si de las 2 formas intente tambien usando AS y
> sale lo que muestro en la nueva imagen
>
> Saludos,
>
>
>
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Marcos Pastor 2016-03-20 21:18:01 Re: Fwd: Consulta no se devuelve en varias columnas
Previous Message Marcos Pastor 2016-03-20 20:46:31 Re: Fwd: Consulta no se devuelve en varias columnas