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.