Hola Marcos, como llamaste a esa función? habrá sido así:

select public.f_usuario_login( vf_usuario character, vf_clave character )


intentaste hacer:
*select * from public.f_usuario_login( vf_usuario character, vf_clave character )*


Saludos

El 3/20/2016 a las 4:19 PM, Marcos Pastor escribió:
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

Responder a