¿Cómo puedo restablecer la columna de identidad en SQL Server??

¿Cómo puedo restablecer la columna de identidad en SQL Server??
En SQL Server, una columna de identidad se refiere a una columna que genere automáticamente valores basados ​​en el valor de semilla proporcionado y el intervalo de incremento.

Esta guía le enseñará cómo restablecer una columna de identidad en SQL Server, lo que le permite restablecer los valores mal configurados en una columna de identidad.

Identidad del servidor SQL

Para agregar una columna de identidad a una tabla en SQL Server, use la consulta de identidad. La sintaxis para la consulta de identidad en SQL Server es como se muestra:

Identidad (seed_value, increment_interval);

La consulta de identidad acepta dos argumentos:

  1. el sement_value se refiere al valor del primer registro en la tabla.
  2. increment_interval: se refiere al valor agregado específico al registro anterior en la tabla.

Por defecto, la semilla y los valores de incremento se establecen en 1. Por lo tanto, el primer registro en la tabla tiene un valor de 1, y cada registro agregado a la tabla, agregado por 1.

Restablecer la columna de identidad en SQL Server

Ahora aprendamos cómo restablecer una columna de identidad en SQL Server y por qué es posible que deba hacerlo.

Comience creando una tabla de muestra e insertando datos como se muestra en las consultas a continuación:

Crear inventario de tabla (
ID int Identidad de clave primaria (1,1) no nula,
Product_Name Varchar (255),
precio int,
cantidad int
);
Insertar en valores de inventario (product_name, precio, cantidad)
('Reloj inteligente', 110.99, 5),
('MacBook Pro', 2500.00, 10),
('Abrigos de invierno', 657.95, 2),
('Escritorio de oficina', 800.20, 7),
('Soldador', 56.10, 3),
('Trípode telefónico', 8.95, 8);

Ahora podemos consultar los datos almacenados en la tabla como:

Seleccionar * del inventario;

Los registros resultantes son como se muestra:

Observe la columna ID; Aunque no especificamos los valores en nuestra instrucción Insertar, la función de identidad genera automáticamente el valor a partir de 1 y sigue aumentando en un 1 para cada registro que insertamos.

Por qué restablecer la columna de identidad?

Puede preguntar si la columna de identidad contiene valores generados automáticamente en un orden lógico especificado, ¿por qué necesito restablecer la columna de identidad??

Mire lo que sucede con los datos cuando eliminemos un registro de la tabla:

Eliminar del inventario donde la cantidad = 7;

La consulta de ejemplo anterior debe eliminar un registro donde la cantidad es igual a 7.

La tabla ahora contiene los registros como:

Seleccionar * del inventario;

En las columnas de identificación, tenemos los valores que comienzan de 1 a 6. Sin embargo, falta la identificación de 4. Esto sucede cuando dejamos caer un registro de la tabla.

Para solucionar esto, necesitamos restablecer la columna de identidad.

Cómo restablecer la columna de identidad

Para restablecer la columna de identidad en SQL Server, utilizamos el procedimiento DBCC CheckIndent.

La sintaxis del procedimiento es como:

Dbcc checkident ('table_name', reseed, new_value);

Sin embargo, si restablecemos la columna de identidad e intentamos insertar datos, SQL Server devuelve un error. Para resolver esto:

  • Cree una nueva mesa que actúe como la copia de seguridad de la antigua mesa.
  • Eliminar datos de la tabla anterior
  • Restablecer la columna de identidad
  • Vuelva a insertar los datos en la nueva tabla.

Una consulta de ejemplo que implementa los pasos anteriores es como se muestra:

Seleccionar * en new_inventory desde el inventario;
Eliminar del inventario;
dbcc checkident ('inventario', reseed, 0);
Insertar en el inventario (Product_Name, Price, Cantidad) Seleccione Product_Name, precio, cantidad de New_inventory Order por ID ASC;

Una vez que las consultas se ejecutan correctamente, podemos verificar los datos en la tabla de inventario como:

Seleccionar * del inventario;

Los registros de la tabla resultantes son como se muestra:

Aquí, la columna de identificación está en el orden correcto.

Clausura

Esta guía cubre los conceptos básicos de la función de identidad en SQL Server y cómo reiniciar una columna de identidad en caso de errores.