Para configurar la generación automática de claves hay que saber algunas cosas sobre su funcionamiento. Para utilizar la generación automática de claves, la tabla debe tener una tabla aparte para este cometido. Esta tabla tiene dos columnas:
Cuando la base de datos necesita una nueva clave única, busca la fila cuyo valor de la columna identity es 1. El valor de la columna incrementor correspondiente a dicha fila es la siguiente clave disponible. La base de datos utiliza esta clave y actualiza la tabla de modo que la próxima vez habrá una nueva clave disponible.
A continuación se muestra un ejemplo de una tabla de generación de claves. ¿Cual es la próxima clave disponible para esta base de datos?. La respuesta está debajo de la tabla.
Columna Identity | Columna Incrementor |
---|---|
3 | 78 |
4 | 3 |
1 | 65 |
2 | 12 |
La siguiente clave disponible en esta tabla es 65, por que dicha clave (en la columna incrementor) es la que se encuentra en la fila cuyo valor de la columna identity es 1.
Una vez extraída la nueva clave de la tabla, la tabla se actualiza la próxima vez que se necesite una tabla. La base de datos también puede recuperar varias claves de una sola vez, tomando el valor de la columna incrementor de varias filas.
En resumen, para que la generación automática de claves funcione, tan sólo es necesario configurar una tabla de generación de claves con dos columnas: una columna primaria que se utilizará como columna identity y otra para almacenar la siguiente clave disponible. Esta tabla se debe inicializar con un registro cuyo valor de la columna identity sea 1 y cuyo valor de la columna incrementor sea la primera clave disponible a utilizar. Una vez realizada esta configuración, está preparado para utilizar la generación automática de claves.