Interbase - ¿Se puede saber el último valor autonumérico?

 
Vista:

¿Se puede saber el último valor autonumérico?

Publicado por Pablo (2 intervenciones) el 13/03/2003 08:47:21
Es decir:
INSERT INTO a (id,nombre) values (gen_id( generador_id , 1 ) , 'pablo');
COMMIT;

Y ahora... ¿cómo puedo saber el valor del campo id, recién insertado?
Suponiendo que hay más de un pablo en la tabla.. ¿Cómo puedo acceder al recién creado si sólo el campo id es clave?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Se puede saber el último valor autonumérico?

Publicado por BigLuis (1 intervención) el 14/03/2003 17:46:17
Una solucion, no se si la mejor, es crear la siguiente vista en el BD
CREATE VIEW a_NEXT_ID (NEXT_ID) AS
select GEN_ID(GENERADOR_ID, 1) from RDB$DATABASE;
Al llamarla desde el programa, justo despues de la insercion del registro, te devuelve el número siguiente, asi esque el anterior es el introducido.Cuidado si acceden varios clientes al mismo tiempo al BD.Otra solucion es llamar a todos los Pablos ordenados por el ID y el ultimo es el introducido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Se puede saber el último valor autonumérico?

Publicado por eCoGoblin (1 intervención) el 07/07/2004 10:33:23
Y no existe otra solución más fiable y simple que todos estos apaños tan extraños para saber con certeza cuál es el Id del registro que se acaba de introducir? No me lo creo.
Tiene que existir LA FORMA de hacerlo bien. Estos apaños pueden dar fallos si estamos tratando con varios cliente simultaneamente. Cuál es la forma correcta de hacer esto? Y me refiero a la forma que no FALLA.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar