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, >> >> >> >