Tecnología

Inicio

Cómo insertar un valor en una columna de identidad

Cómo insertar un valor en una columna de identidad


Sólo existe una forma de insertar un valor previamente definido en un campo de identidad de SQL Server, y que es a través del uso de "inserción de identidad." SQL Server genera un valor en un campo de identidad cuando se crea un registro, y luego defiende que el valor de la actualización. Pero cuando es necesario copiar datos entre tablas, o para establecer explícitamente un valor al crear nuevos datos, el uso de "establecer la inserción de identidad" antes y después de la inserción va a dejar de lado estas restricciones el tiempo suficiente para completar la tarea.

Instrucciones

1 Iniciar sesión en SQL Server a través de su interfaz SQL, y asegurarse de que se hace referencia a la base de datos correcta.

2 Crear la sentencia SQL de inserción. Al realizar una inserción de identidad, un asterisco no se puede utilizar para representar los campos; que deben ser especificados. En el siguiente ejemplo, "id" es el campo de identidad.

A partir de una tabla a otra:

insertar en la Tabla 1 (Identificación, descripción, tipo) SELECT ID, descripción, tipo de tabla2

Explícitamente un valor que indica:

insertar en la Tabla 1 (Identificación, descripción, tipo) valores (1, "Descripción de la prueba ',' A Tipo ')

3 Establecer la inserción de identidad para la tabla de destino "on" mediante la introducción de: SET_IDENTITY_INSERT tabla1 en

4 Ejecute la instrucción SQL de inserción creada en el paso 2.

5 Establecer la inserción de identidad para la tabla de destino "off" mediante la introducción de: SET_IDENTITY_INSERT tabla1 fuera

Consejos y advertencias

  • Sólo una tabla en una base de datos a la vez puede tener la inserción de identidad activada. El intento de establecer la identidad de insertar en una segunda tabla, se generará un mensaje de error que indica el nombre de la tabla ya afectados.
  • Siempre revise y tablas de doble verificación y nombres de columna antes de mover los datos utilizando SQL. Es una manera fácil de destruir datos de forma rápida.