Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2011, 14:10
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 7 meses
Puntos: 344
Respuesta: Funcion para verificar acceso de usuario

Los parámetros se crean como $1, $2, ...

Luego en vez de devolver una cadena, devuelve un booleano diciendo si puede acceder o no.

Para saber si una sentencia sql ha tenido exito puede utilizar la variable FOUND que te indica con true si ha habido mínimo un resultado o false en caso contrario (tienes que utilizar el SELECT ... INTO, que asigna el primer resultado de la consulta a la variable).

Código SQL:
Ver original
  1. CREATE FUNCTION f_verificar_acceso(CHARACTER VARYING, CHARACTER VARYING)
  2.  RETURNS BOOLEAN AS
  3.  $BODY$
  4.     DECLARE
  5.    resultado CHARACTER VARYING;
  6.  
  7.  BEGIN
  8.  SELECT nom_usu INTO resultado FROM usuarios WHERE nom_usu = $1 pas_usu = $2
  9.  IF FOUND THEN
  10.      RETURN TRUE;
  11.    ELSE RETURN FALSE;
  12. END IF;
  13.  
  14.  END;
  15.  $BODY$
  16.  LANGUAGE 'plpgsql' VOLATILE;
  17.  ALTER FUNCTION f_verificar_acceso(CHARACTER VARYING, CHARACTER VARYING) OWNER TO hpartidas;

Hay más información en la documentación oficial de Postgres.