Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/08/2011, 08:11
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 Funcion que retorne el ultimo id de la secuencia..

Buenas sres.

Tal como dice el titulo, tengo una funcion de insert de usuarios comun y corriente.. Lo que quiero que me ayuden es con el retorno del ultimo id que se inserto o en otras palabras el valor actual de la secuencia.

voy a dejar la funcion aqui para que vayan ayudandome por favor...

Código SQL:
Ver original
  1. -- Function: f_registrar_usuario(character varying[])
  2.  
  3. -- DROP FUNCTION f_registrar_usuario(character varying[]);
  4.  
  5. CREATE OR REPLACE FUNCTION f_registrar_usuario(_datos CHARACTER VARYING[])
  6.   RETURNS SMALLINT AS
  7. $BODY$
  8. DECLARE
  9.     _nom_usu            usuarios.nom_usu%TYPE;
  10.     _ape_usu            usuarios.ape_usu%TYPE;
  11.     _dir_usu            usuarios.dir_usu%TYPE;
  12.     _log_usu            usuarios.log_usu%TYPE;
  13.     _pas_usu            usuarios.pas_usu%TYPE;
  14.     _tel_usu            usuarios.tel_usu%TYPE;
  15.     _ema_usu            usuarios.ema_usu%TYPE;
  16.     _tel_bla_ber    usuarios.tel_bla_ber%TYPE;
  17.     _twi_usu            usuarios.twi_usu%TYPE;
  18. BEGIN
  19.     _nom_usu = _datos[1];
  20.     _ape_usu = _datos[2];
  21.     _dir_usu = _datos[3];
  22.     _log_usu = _datos[4];
  23.     _pas_usu = _datos[5];
  24.     _tel_usu = _datos[6];
  25.     _ema_usu = _datos[7];
  26.     _tel_bla_ber = _datos[8];
  27.     _twi_usu = _datos[9];
  28.  
  29.     -- Se verifica la existencia de un usuario registrado con el mismo login
  30.     IF NOT EXISTS(SELECT 1 FROM usuarios WHERE LOWER(log_usu) = LOWER(_log_usu)) THEN
  31.         INSERT INTO usuarios(
  32.             nom_usu,
  33.             ape_usu,
  34.             dir_usu,
  35.             log_usu,
  36.             pas_usu,
  37.             tel_usu,
  38.             ema_usu,
  39.             tel_bla_ber,
  40.             twi_usu
  41.         )
  42.         VALUES(
  43.             _nom_usu,
  44.             _ape_usu,
  45.             _dir_usu,
  46.             _log_usu,
  47.             _pas_usu,
  48.             _tel_usu,
  49.             _ema_usu,
  50.             _tel_bla_ber,
  51.             _twi_usu
  52.         );
  53.        
  54.         RETURN 0;
  55.     ELSE
  56.         RETURN 1;
  57.     END IF;
  58. END;
  59. $BODY$
  60.   LANGUAGE plpgsql VOLATILE

Necesito que en vez del 0, retorne el valor de la secuencia. Cualquier cosa q necesiten saber solo diganme! Gracias..

P.D.: Ayuda Huesos!!! :D
__________________
Gmail : [email protected]
Twitter: @heiroon

I'm back!