Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Funcion que retorne el ultimo id de la secuencia..

Estas en el tema de Funcion que retorne el ultimo id de la secuencia.. en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 05/08/2011, 08:11
Avatar de 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!
  #2 (permalink)  
Antiguo 07/08/2011, 23:54
 
Fecha de Ingreso: diciembre-2009
Mensajes: 32
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: Funcion que retorne el ultimo id de la secuencia..

Código SQL:
Ver original
  1. INSERT INTO usuarios(
  2.             nom_usu,
  3.             ape_usu,
  4.             dir_usu,
  5.             log_usu,
  6.             pas_usu,
  7.             tel_usu,
  8.             ema_usu,
  9.             tel_bla_ber,
  10.             twi_usu
  11.         )
  12.         VALUES(
  13.             _nom_usu,
  14.             _ape_usu,
  15.             _dir_usu,
  16.             _log_usu,
  17.             _pas_usu,
  18.             _tel_usu,
  19.             _ema_usu,
  20.             _tel_bla_ber,
  21.             _twi_usu
  22.         ) returning campo_id;
  #3 (permalink)  
Antiguo 12/08/2011, 08:54
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 19 años, 2 meses
Puntos: 7
Respuesta: Funcion que retorne el ultimo id de la secuencia..

En lo personal... no veo el campo id, el cual puede ser fundamental para recuperar su valor de una forma o de otra
__________________
Gracias de todas todas
-----
Linux!

Etiquetas: retornar, secuencia
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.