Une colonne d'identité dans SQL Server fait référence à une colonne qui génère automatiquement une valeur numérique unique pour chaque enregistrement inséré. Une colonne d'identité est très utile comme clé primaire car chaque valeur est unique pour chaque ligne.
Dans ce guide, nous comprendrons comment utiliser la propriété d'identité dans le serveur SQL et comment nous pouvons insérer manuellement les valeurs dans une colonne d'identité.
Identité SQL Server
La propriété d'identité dans une colonne est déterminée par la valeur initiale des semences et l'incrément entier. La syntaxe est comme indiqué:
identité (graine, incrément);
Si les paramètres de graines et d'incrément ne sont pas définis, SQL Server est par défaut des valeurs de 1, 1, respectivement.
L'exemple d'instructions de requête illustre comment utiliser la propriété d'identité SQL Server:
CreatedAtAbaseTemporary_DB;Nous devrions avoir une table comme indiqué:
Remarquez la colonne ID commence à partir d'une valeur de 1 et incréments la ligne suivante de 1, telle que définie par la propriété d'identité.
SQL Server Ententity_insert
Bien que la propriété d'identité soit utilisée pour définir une fonction de génération automatique, vous pouvez peut-être modifier manuellement la valeur d'une colonne d'identité.
C'est là que la commande Identity_insert entre en jeu.
SQL Server Activer Identity_insert
Par défaut, SQL Server vous empêchera de modifier manuellement les valeurs d'une colonne d'identité. Pour l'utiliser, vous devez l'activer sur votre table cible.
Par exemple, si vous essayez de modifier manuellement les valeurs de la colonne ID à partir du tableau d'échantillonnage ci-dessus, vous obtiendrez une erreur comme indiqué:
INSERTINTOSample_Table (ID) VALEURS (7);Utilisez la syntaxe de commande suivante pour activer ou désactiver la fonction Identity_insert:
setIdentity_insertTable_nameon / off;Par exemple, pour activer Identity_insert pour le Sample_Table créé ci-dessus, nous pouvons faire:
setIdentity_insertsample_tableon;Une fois activé, vous pouvez insérer des valeurs dans la colonne d'identité:
INSERTINTOSample_Table (ID) VALEURS (7);INDICE: Vous ne pouvez définir que l'identité_insert sur une seule table par session. Si vous essayez d'activer l'insert d'identité sur une autre table dans la même session, le serveur SQL renvoie une erreur comme indiqué:
Conclusion
La propriété d'identité SQL Server permet de définir une colonne qui génère automatiquement les valeurs numériques basées sur les valeurs de graines et d'incrément. Cependant, comme discuté dans ce tutoriel, vous pouvez utiliser la fonction d'insertion d'identité pour modifier manuellement les valeurs d'une colonne d'identité. Nous espérons que vous avez trouvé cet article utile. Consultez d'autres articles sur les conseils Linux pour plus de conseils et d'informations.