Bases de Datos > Oracle
devolver el valor de una secuencia
(1/1)
lugarda:
Hola a todos, estuve buscando la forma de recuperar el valor de la secuencia de una tabla (la cual uso como llave) , inmediatamente despues que ejecuto la sentencia INSERT.
Se me ocurrió hacerlo con un SELECT MAX(ID) FROM TABLA INTO :ULTIMO, pero me parece algo ineficiente. Si alguien tiene una forma mas efectiva para poder recuperar el ID (que es la secuencia de la tabla) , despues de hacer el insert, les agradezco mucho que me cuenten, seria de gran ayuda.
Buen dia.
Monica.
Thanatos-chan:
si es una secuencia propiamente creada puedes usar:
--- Código: SQL --- SELECT NOMBRESECUENCIA.CURRVAL FROM DUAL
sino, es como dices buscar el numero mas alto.
aaiello:
como dice la respuesta anterior la forma correcta es con currvar, pero lo de tomar el max puede o no ser ineficiente. Si tenes creado un indice cluster sobre ese campo entonces la performance será la misma en ambos casos, de lo contrario ahí podría verse afectada.
Navegación
Ir a la versión completa