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
-- Function: f_registrar_usuario(character varying[]) -- DROP FUNCTION f_registrar_usuario(character varying[]); CREATE OR REPLACE FUNCTION f_registrar_usuario(_datos CHARACTER VARYING[]) RETURNS SMALLINT AS $BODY$ DECLARE _nom_usu usuarios.nom_usu%TYPE; _ape_usu usuarios.ape_usu%TYPE; _dir_usu usuarios.dir_usu%TYPE; _log_usu usuarios.log_usu%TYPE; _pas_usu usuarios.pas_usu%TYPE; _tel_usu usuarios.tel_usu%TYPE; _ema_usu usuarios.ema_usu%TYPE; _tel_bla_ber usuarios.tel_bla_ber%TYPE; _twi_usu usuarios.twi_usu%TYPE; BEGIN _nom_usu = _datos[1]; _ape_usu = _datos[2]; _dir_usu = _datos[3]; _log_usu = _datos[4]; _pas_usu = _datos[5]; _tel_usu = _datos[6]; _ema_usu = _datos[7]; _tel_bla_ber = _datos[8]; _twi_usu = _datos[9]; -- Se verifica la existencia de un usuario registrado con el mismo login IF NOT EXISTS(SELECT 1 FROM usuarios WHERE LOWER(log_usu) = LOWER(_log_usu)) THEN INSERT INTO usuarios( nom_usu, ape_usu, dir_usu, log_usu, pas_usu, tel_usu, ema_usu, tel_bla_ber, twi_usu ) VALUES( _nom_usu, _ape_usu, _dir_usu, _log_usu, _pas_usu, _tel_usu, _ema_usu, _tel_bla_ber, _twi_usu ); RETURN 0; ELSE RETURN 1; END IF; END; $BODY$ 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