Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2011, 12:18
Avatar de Heiroon
Heiroon
 
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 13 años, 10 meses
Puntos: 63
Exclamación Pl/Pgsql Funcion que consulta y devuelve array

Buenas amigos,

estoy construyendo una funcion que al recibir un correo, verifica si esta en bd, de ser asi y debe devolverme un arreglo con id, nombre y apellido...

Código SQL:
Ver original
  1. -- Function: f_cambiar_clave(integer, character varying)
  2.  
  3. -- DROP FUNCTION f_cambiar_clave(integer, character varying);
  4.  
  5. CREATE OR REPLACE FUNCTION f_existe_usuario(_email CHARACTER VARYING)
  6.   RETURNS VARCHAR AS
  7. $BODY$
  8. DECLARE
  9.    
  10.  
  11. BEGIN
  12.     -- Se verifica la existencia de un usuario registrado con el id
  13.     SELECT id_usu, nom_usu, ape_usu INTO _id FROM usuarios WHERE ema_usu = _email;
  14.  
  15.     IF FOUND THEN
  16.  
  17.         RETURN _id;
  18.     ELSE
  19.  
  20.         RETURN 0;
  21.     END IF;
  22. END;
  23. $BODY$
  24.   LANGUAGE plpgsql VOLATILE
  25.   COST 100;
  26. ALTER FUNCTION f_existe_usuario(CHARACTER VARYING) OWNER TO u_enelmapa;
  27. GRANT EXECUTE ON FUNCTION f_existe_usuario(CHARACTER VARYING) TO public;
  28. GRANT EXECUTE ON FUNCTION f_existe_usuario(CHARACTER VARYING) TO u_enelmapa;
  29. GRANT EXECUTE ON FUNCTION f_existe_usuario(CHARACTER VARYING) TO g_enelmapa WITH GRANT OPTION;
  30. COMMENT ON FUNCTION f_existe_usuario(CHARACTER VARYING) IS '
  31. NOMBRE: f_existe_usuario
  32. TIPO: Function (edition procedure)
  33. PARAMETROS:
  34.     1:  email del usuario
  35.    
  36. DESCRIPCION:
  37.     Verifica que existe el usuario a partir del correo electronico.
  38. RETORNO:
  39.     _id: Operación exitosa
  40.     0: No existe el usuario
  41.    
  42. EJEMPLO DE LLAMADA:
  43.     SELECT f_existe_usuario("[email protected]")
  44.                                    
  45. AUTOR: 
  46. FECHA DE CREACION: 22 de julio de 2011
  47. ';

Asi voy... que me falta?? ayuda por favor!!!


P.D.: Si hay una forma mas sencilla de hacer lo que quiero por favor diganme... Gracias!
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!