From: | Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> |
---|---|
To: | Marcos Pastor <marcousweb(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta no se devuelve en varias columnas |
Date: | 2016-03-20 20:29:25 |
Message-ID: | 894721977.20373.1458505765621.JavaMail.root@fmed.uba.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Proba invocandola con *
SELECT * from f_usuario_login(...)
(con asterisco, o con los campos que quieras devolver.)
----- Mensaje original -----
> De: "Marcos Pastor" <marcousweb(at)gmail(dot)com>
> Para: pgsql-es-ayuda(at)postgresql(dot)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(at)postgresql(dot)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(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Anthony Sotolongo | 2016-03-20 20:32:46 | Re: Fwd: Consulta no se devuelve en varias columnas |
Previous Message | Marcos Pastor | 2016-03-20 19:50:24 | Fwd: Consulta no se devuelve en varias columnas |