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
--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a