Proba invocandola con * SELECT * from f_usuario_login(...)
(con asterisco, o con los campos que quieras devolver.) ----- Mensaje original ----- > De: "Marcos Pastor" <marcous...@gmail.com> > Para: pgsql-es-ayuda@postgresql.org > Enviados: Domingo, 20 de Marzo 2016 16:19:29 > Asunto: [pgsql-es-ayuda] Consulta no se devuelve en varias columnas > > > > Estimados estoy haciendo la siguiente funcion y me devuelve un solo > campo record con los valores entre comas, como puedo hacer para que > me devuelva en vaias columnas, a mi criterio el codigo esta bien > tengo postgre 9.5. Intente tambien con returns setof record y > parametros out y me sale lo mismo. > > > Codigo de funcion: > > CREATE OR REPLACE FUNCTION public.f_usuario_login( > vf_usuario character, > vf_clave character > ) > RETURNS table(persona character varying(13), periodo integer, ruc > character varying(13), perfil integer, activo character varying(1)) > AS > $BODY$ > declare > id_persona character varying(13); > ruc_insti character varying(13); > periodo_act integer; > perfiles integer; > begin > if not exists (select * from usuario where usuario=vf_usuario) then > raise exception 'El usuario % no existe en nuestra base de datos.', > vf_usuario; > else > select ruc_institucion_fk, ced_persona_fk into ruc_insti, id_persona > from usuario where usuario=vf_usuario and clave=vf_clave; > if not found then > raise exception 'La contraseña ingresada no es correcta, por favor > vuelva a intentarlo'; > else > periodo_act := (select f_getperiodo_act(ruc_insti)); > if (periodo_act = -1) then > raise exception 'El periodo no ha sido actualizado, por favor > contáctese con el Administrador del sistema.'; > else > return query select * from usuarios_actuales where > ced_persona_fk=id_persona and id_periodo_fk=periodo_act and > id_institucion_fk=ruc_insti and status='A'; > if not found then > raise exception 'El usuario no tiene permiso para este periodo, por > favor contáctese con el Administrador del sistema.'; > end if; > end if; > end if; > end if; > end;$BODY$ > LANGUAGE plpgsql VOLATILE > COST 100; > > > Adjunto la imagen del output. > > > Saludos, > > > - > Enviado a la lista de correo pgsql-es-ayuda > (pgsql-es-ayuda@postgresql.org) > Para cambiar tu suscripción: > http://www.postgresql.org/mailpref/pgsql-es-ayuda > - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda