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