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