09/09/2008, 09:32
|
| | Fecha de Ingreso: abril-2008
Mensajes: 82
Antigüedad: 16 años, 8 meses Puntos: 0 | |
Respuesta: Secuencia Bueno no me refiero a borrarla con drop SEQUENCE seq1,
si no a que la secuencia la tengo como numero consecutivo de una ventana.ç
Si inicio mi secuencia en 0, cuando cree en la ventana un nuevo registro el numero consecutivo es "1", y esto es correcto pero si por ejemplo yo cancelo este registro la secuencia ya no esta en 0 si no ya es 1 y el siguiente sera 2aun cuando en mi ventana no tenga ningun registro con el numero 1.
A eso me refiero por que tengo algo a esto:
INSERT INTO Tablita (idTablita,numero_consecutivo,name,description)
VALUES (10,(SELECT nextval('sequence1')),'TEXTONAME','TEXTODESCRIPTIO N');
Entonces me pasa con mucha frecuencia que cada que abro la ventana me da la opcion de crear un nuevo registro y por lo tanto el consecutivo ya lo esta poniendo en automatico por lo que si cancelo el crear el registro ese numero consecutivo se pierde y la proxima vez que quiero crear uno nuevo me salta al siguiente, entiendo que esto es correcto para las secuencias lo que quiero es alguna funcion o algo que restablesca nuevamente el valor inicial de la secuencia por ejemplo si se crearon del 1 al 10 registros en mi ventana y elimino el numero 10 cuando genere otro no me ponga el 11 si no me ponga nuevamente el 10, cuyo registro ya no existe aunque la secuencia se haya quedado con el ultimo valor de 10(SELECT last_value FROM sequence1) y mi siguiente valor ovbiamente es 11 por lo tanto es correcto que ponga 11, pero yo en este caso necesito que si elimine un registro la secuencia vuelva a obtener el ultimo y no el siguiente.
Espero haberme explicado un poco mas.
Saludos |