Maison >base de données >tutoriel mysql >Comment gérer IDENTITY_INSERT dans SQL Server 2008 ?
Contrôle d'IDENTITY_INSERT dans SQL Server 2008
L'insertion de données dans des tables avec des colonnes d'identité dans SQL Server 2008 nécessite parfois de remplacer la génération automatique de valeurs d'identité. Tenter une insertion directe avec une valeur spécifiée lorsque IDENTITY_INSERT
est désactivé entraînera une erreur.
Pour insérer des valeurs explicites, vous devez activer temporairement IDENTITY_INSERT
. Cela se fait à l'aide de la commande T-SQL suivante :
<code class="language-sql">SET IDENTITY_INSERT DatabaseName.SchemaName.TableName ON;</code>
Remplacez DatabaseName
, SchemaName
et TableName
par vos noms de base de données, de schéma et de table respectivement.
Vous pouvez désormais insérer des données avec une valeur spécifiée pour la colonne d'identité :
<code class="language-sql">INSERT INTO YourTable (IdentityColumn, Column2, Column3, ...) VALUES (YourIdentityValue, Value2, Value3, ...);</code>
Essentiellement, toujours n'oubliez pas de désactiver IDENTITY_INSERT
une fois vos insertions terminées :
<code class="language-sql">SET IDENTITY_INSERT YourTable OFF;</code>
Ne pas désactiver IDENTITY_INSERT
peut entraîner des incohérences et des erreurs.
Vous pouvez également gérer ce paramètre via SQL Server Management Studio (SSMS). Localisez votre table dans l'Explorateur d'objets, cliquez avec le bouton droit, sélectionnez « Propriétés », accédez à l'onglet « Spécification d'identité » et cochez « Autoriser IDENTITY_INSERT ». Cependant, n'oubliez pas qu'il s'agit d'un équivalent graphique des commandes T-SQL ; le mécanisme sous-jacent reste le même. Le contrôle direct T-SQL offre plus de flexibilité programmatique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!