From: | Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> |
---|---|
To: | Desarrollo Escuintla <desarrollo(dot)escuintla(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Procedimiento almacenado |
Date: | 2010-02-18 19:47:03 |
Message-ID: | 4B7D9937.3020306@fmed.uba.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Desarrollo Escuintla wrote:
> Hola lista,
>
> tengo una tabla llamada "usuario", donde estan los usuarios autorizados para
> el ingreso al sistema,
> y tengo el siguiente SP, el cual lo encontre en la ayuda de PostgreSQL:
>
>
> CREATE OR REPLACE FUNCTION verificaclave(uname text, pass text)
> RETURNS boolean AS
> $$
> DECLARE passed BOOLEAN;
> BEGIN
> SELECT (password = $2) INTO passed
> FROM usuario
> WHERE username = $1;
>
> RETURN passed;
> END;
>
>
> Ahora,
> soy nuevo en el uso de esta BD, y quisiera modificar est SP, pero que me
> duelva "1" ó "0" respectivamente,
> si la clave es correcta o incorrecta,
>
>
>
Hola "Desarrollo" :). Mira, cuando puedas evitar usar plpgsql, y usar
sql para tus funciones, mejor. La ejecucion de funciones hechas en pl
son "mas caras", y por lo que puedo ver, aqui se puede resolver usando
sql plano.
Algo como
CREATE OR REPLACE FUNCTION verifica_usuario(usr text, pass text)
returns integer
security definer
as
$$
select case when password = $2 then 1 else 0 end
from usuario where username=$1;
$$ language sql
Tarea para el hogar: ¿Que pasa si el usuario no existe?
HTH
Gerardo
From | Date | Subject | |
---|---|---|---|
Next Message | Desarrollo Escuintla | 2010-02-18 20:31:15 | Procedimiento almacenado |
Previous Message | Jonathan Finlay | 2010-02-18 17:59:55 | Re: Re: Replicar datos sin IP FIJA |