J'ai une base de données d'archives de fichiers supprimée qui stocke l'ID du fichier qui a été supprimé, je veux que l'administrateur puisse restaurer le fichier (ainsi que le même ID pour lier les fichiers). Je ne veux pas supprimer identity_insert de toute la table, car l'incrémentation de un fonctionne très bien. Dans ma TBL_Content
procédure d' insertion pour stocker, j'ai quelque chose comme ça
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
Mais j'obtiens toujours la même erreur:
Impossible d'insérer une valeur explicite pour la colonne d'identité dans la table "TBL_Content" lorsque IDENTITY_INSERT est défini sur OFF.
De l'aide?
la source
Rappel
SQL Server n'autorise qu'une seule table à avoir la propriété IDENTITY_INSERT définie sur ON.
Cela ne fonctionne pas:
Au lieu:
la source
La référence: http://technet.microsoft.com/en-us/library/aa259221%28v=sql.80%29.aspx
Ma table est nommée
Genre
avec les 3 colonnes deId
,Name
etSortOrder
Le code que j'ai utilisé est le suivant:
la source
Ajoutez cette ligne au-dessus de votre requête
la source
Ajouter un départ aussi
la source