Inserto de identidad SQL

Inserto de identidad SQL
SQL Server nos proporciona una cláusula de identidad que le permite crear columnas en serie o autoincremento. Si una columna se establece como una columna de identidad, sus valores se generan automáticamente a medida que se agregan nuevos registros a la tabla.

Esto le proporciona la capacidad de tener un identificador único para cada columna sin inspección de la base de datos manual.

Identidad del servidor SQL

En SQL Server, puede crear una columna de identidad como se muestra:

Crear tabla table_name (
column_name int identidad
);

El valor de la columna especificado anterior se genera automáticamente cuando agrega un nuevo registro.

Considere el ejemplo simple que se muestra a continuación:

Crear usuarios de tabla (
ID INT Identity,
Nombre Varchar (255)
);

En circunstancias normales, no necesitamos especificar el valor de una columna de identidad durante la inserción de datos. Como se mencionó, el valor se genera automáticamente para cada inserto de registro como se muestra:

Insertar en valores de usuarios (nombre) ('Dorothy Michelle');

Lo anterior debe insertar el registro en la tabla con un valor único para la columna de identificación. Por ejemplo:

Observe que la columna ID contiene un valor a pesar de que no especificamos uno? Ese es el poder de las columnas de identidad.

SQL Server Permitir inserto de identidad

Pero, ¿qué pasa si intenta agregar el valor de una columna de identidad manualmente?? Por ejemplo:

Insertar en valores de usuarios (id, nombre) (2, 'Jeff Arty');

La consulta anterior devolverá un error como se muestra:

SQL Server evita que agregue explícitamente valores a un inserto de identidad.

Podemos resolver esto habilitando la función de inserción de identidad en SQL Server.

La sintaxis para este comando es como se muestra:

Establecer identity_insert table_name en

Para habilitar el inserto de identidad en la tabla de los usuarios, podemos ejecutar:

Establecer usuarios de identidad_insert;

Para deshabilitar el inserto de identidad en una tabla específica, establezca el valor en apagado.

Columna de identidad de reinicio de SQL Server

Si elimina un registro de la tabla, el valor de la columna de su identidad no se reutiliza. Esto puede conducir a la inconsistencia y la fragmentación en la base de datos.

Puede sincronizar la columna de identidad mediante la reanimación como se muestra en el siguiente comando:

DBCC Checkident (table_name, reseed, 1)

La consulta anterior debe volver a aclarar la columna de identidad de la tabla especificada a partir del índice 1.

Conclusión

En este artículo, exploramos la columna de identidad en el servidor SQL y cómo habilitarla o deshabilitarla en una tabla.

Espero que hayas encontrado esto util!