Otra posibilidad: borrar el registro sin miramientos. Al dar de alta un nuevo registro, reutilizas ese hueco del código.
Para ello ya no puedes usar un generador, deberías usar procedimiento almacenado que se encargue de buscar esos huecos antes de dar de alta.
Por otro lado, no veo el por qué hacer lo que quieres. No es buena idea que una clave primaria tenga un valor para el usuario final, porque ese significado que tiene ahora, mañana puede cambiar y esto implica, remodelar toda la base de datos.
Lo normal es tener un generador como clave primaria, y ahora en un campo "codigoUsuario" es donde guardas el valor reutilizable, ese valor que tiene un significado especial para el usuario. Ahora ya puedes hacer uso de un SP que revisa los huecos posibles y hacer lo que sea, pero independientemente de la integridad referencial.
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
|