Borrados Logicos (para expertos)

sancho
02 de Mayo del 2004
Tengo varias sentencias DELETE, en mi programa.Son borrados logicos y solo me marca las tuplas para ser borradas. Imaginaros esta situacion:

codigo valor
1 pepe
2 luis (marcado para borrar)
3 juan (marcado para borrar)

Si ahora hago una insercion y en el 'cod' pongo la sentencia 'select max(cod) + 1 from clientes', me inserta con un 2 (ignora los borrados) y por tanto me da un error de clave duplicada.
¿Como lo puedo solucionar?

Gracias

Troncho
02 de Mayo del 2004
Has probado a poner un set delete off delante de la insercción??

No se si te podra ayudar

Roberto Rangel
02 de Mayo del 2004
Prueba agregando un filtro al indice en tu tabla, es decir, coloca la instruccion NOT DELETED() en el filtro del indice principal de tu tabla y listo, los registros borrados no seran tomados en cuenta como indices y por lo tal no seran duplicados pero tampoco serna optimizables.

Saludos.