SQLSKULL (Español)


SQL Server IDENTITY_INSERT permite insertar valores explícitos en la columna de identidad de una tabla.

La instrucción IDENTITY_INSERT debe estar activada para insertar un valor explícito para la columna identity. Por defecto IDENTITY_INSERT está desactivado.

sintaxis

SET IDENTITY_INSERT schema_name . ] table_name { ON | OFF }

database_name
Es el nombre de la base de datos en la que existe la tabla especificada.

schema_name
Es el nombre del esquema al que pertenece la tabla.,

table_name
Es el nombre de una tabla con una columna de identidad.

veamos un ejemplo de SET IDENTITY_INSERT en SQL SERVER.

el siguiente ejemplo demuestra cómo IDENTITY_INSERT se usa para dar valor de identidad explícitamente para la columna de identidad.

creamos una tabla-X que tiene un ID de columna de identidad. Vamos a comprobar si tratamos de pasar un valor explícito para el ID de la columna de identidad.,

CREATE TABLE X (ID INT IDENTITY(1,1) ) ;INSERT INTO X (ID) VALUES (1);

Como vemos, da un error de un valor explícito para la columna de identidad en la tabla X Y también sugiere que si queremos insertar un valor explícito para la columna de identidad, IDENTITY_INSERT debe estar activado.

ahora intentamos ejecutar la instrucción above de nuevo después de establecer IDENTITY_INSERT en.

SET IDENTITY_INSERT dbo.X ONINSERT INTO X (ID) VALUES (1);SET IDENTITY_INSERT dbo.X OFF 

Como vemos , el valor explícito para la columna de identidad se inserta en la tabla.,

en la instrucción anterior , debemos especificar la lista de columnas durante la inserción de lo contrario no permitirá un valor explícito para la columna de identidad y arrojará un error.

como vemos en la siguiente declaración incluso después de IDENTITY_INSERT ON, todavía da un error de valores explícitos para la columna de identidad ya que tenemos que especificar el nombre de la columna durante la inserción.

Leave a Comment