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-- 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