Tengo una base de datos de archivo de archivos eliminados que almacena la ID del archivo que se eliminó, quiero que el administrador pueda restaurar el archivo (así como la misma ID para vincular archivos). No quiero quitar identity_insert de toda la tabla, ya que el incremento en uno funciona muy bien. En mi TBL_Content
procedimiento de inserción para almacenar tengo algo como esto
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
SET IDENTITY_INSERT tbl_content ON
GO
ALTER procedure [dbo].[spInsertDeletedIntoTBLContent]
@ContentID int,
...insert command...
SET IDENTITY_INSERT tbl_content OFF
Pero sigo recibiendo el mismo error:
No se puede insertar un valor explícito para la columna de identidad en la tabla 'TBL_Content' cuando IDENTITY_INSERT está establecido en OFF.
¿Alguna ayuda?
fuente
Recordatorio
SQL Server solo permite que una tabla tenga la propiedad IDENTITY_INSERT establecida en ON.
Esto no funciona:
En lugar:
fuente
La referencia: http://technet.microsoft.com/en-us/library/aa259221%28v=sql.80%29.aspx
Mi tabla se nombra
Genre
con las 3 columnas deId
,Name
ySortOrder
El código que utilicé es como:
fuente
Agregue esta línea encima de su consulta
fuente
Añadir set off también
fuente