Si ya vi la diferencia, muchas gracias El 20 de marzo de 2016, 15:49, Anthony Sotolongo <asotolo...@gmail.com> escribió:
> 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 <asotolo...@gmail.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, >>> >>> >>> >> > >