Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/08/2011, 12:39
Avatar de Heiroon
Heiroon
 
Fecha de Ingreso: junio-2010
Ubicación: Caracas, Venezuela - Por ahora...
Mensajes: 495
Antigüedad: 14 años, 5 meses
Puntos: 63
Exclamación Respuesta: Pl/Pgsql Funcion que consulta y devuelve array

Hola,

al final lo resolvi de esta manera... La comparto por si algun dia hace falta..

Código SQL:
Ver original
  1. CREATE OR REPLACE FUNCTION f_existe_usuario(_email CHARACTER VARYING)
  2.   RETURNS SETOF t_datos_recup_clave AS
  3. $BODY$
  4. DECLARE
  5.     _cod_msj    INTEGER;
  6.     _msj_usu    VARCHAR;
  7.     _reg_usuario    RECORD;
  8.     _retorno    t_datos_recup_clave;
  9. BEGIN
  10.    
  11.     SELECT
  12.         id_usu,
  13.         nom_usu,
  14.         ape_usu
  15.     INTO
  16.         _reg_usuario
  17.     FROM
  18.         usuarios
  19.     WHERE
  20.         ema_usu = _email;
  21.        
  22.     IF NOT FOUND THEN
  23.  
  24.         _cod_msj            := 1;
  25.         _msj_usu            := 'No Existe el Usuario';
  26.         _retorno.cod_msj        := _cod_msj;
  27.         _retorno.msj_usu        := _msj_usu;
  28.     ELSE
  29.         _cod_msj            := 0;
  30.         _msj_usu            := 'El usuario ha sido encontrado';
  31.         _retorno.cod_msj        := _cod_msj;
  32.         _retorno.msj_usu        := _msj_usu;
  33.         _retorno.id_usu         := _reg_usuario.id_usu;
  34.         _retorno.nom_usu        := _reg_usuario.nom_usu;
  35.         _retorno.ape_usu        := _reg_usuario.ape_usu;
  36.  
  37.     END IF;
  38.    
  39.     RETURN NEXT _retorno;
  40.     RETURN;
  41. END;
  42. $BODY$
  43.   LANGUAGE plpgsql VOLATILE
  44.   COST 100
  45.   ROWS 1000;
  46. ALTER FUNCTION f_existe_usuario(CHARACTER VARYING) OWNER TO u_enelmapa;
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!