SET IDENTITY INSERT (SQL Server Compact)

Permite insertar valores explícitos en la columna de identidad de una tabla.

Sintaxis

SET IDENTITY_INSERT table { ON | OFF } 

Argumentos

  • tabla
    Nombre de una tabla con una columna de identidad.

Comentarios

En un momento dado, solo puede haber una tabla en cada sesión que tenga la propiedad IDENTITY_INSERT establecida en ON. Si hay alguna tabla con esta propiedad establecida en ON y se emite una instrucción SET IDENTITY_INSERT ON para otra tabla, SQL Server Compact devuelve un mensaje de error. El mensaje indica que la propiedad SET IDENTITY_INSERT ya está establecida en ON y notifica el nombre de la tabla. No se permite usar el comando SET IDENTITY_INSERT sin ningún nombre de tabla. Si el comando de Transact-SQL se emite sin el nombre de la tabla, se produce un error.

Cuando IDENTITY_INSERT es ON, SQL Server Compact no actualiza automáticamente los metadatos IDENTITY relacionados como AUTOINC_NEXT cuando el valor IDENTITY recién proporcionado sea mayor o igual que AUTOINC_NEXT. Este comportamiento es diferente en SQL Server. Aunque no es tan eficaz como SET IDENTITY_INSERT, SQL Server el comportamiento de incremento automático se puede imitar utilizando la técnica siguiente.

ALTER TABLE < TableName > ALTER COLUMN < ColumnName > < Datatype > IDENTITY(< NewSeed >, < NewStep >)

Nota

Si < NewSeed > está fuera del intervalo asignado, la replicación de mezcla podría interrumpirse.