Dans le développement quotidien de SQL Server, la colonne identité du type Identité est souvent utilisée comme le nombre auto-croissant d’une structure de table. Par exemple, numéro d’article, numéro de série de registre, etc. Les références à des colonnes identifiées auto-croissantes facilitent grandement le développement de programmes de bases de données, mais parfois ce type de champ tenace peut aussi poser des problèmes.
1. Modifier les valeurs des champs de la colonne d’identification :
Parfois, pour implémenter une fonction, il est nécessaire de modifier la valeur d’un champ de type Identity auto-croissant, mais cette opération n’est pas autorisée par défaut en raison du type de colonne identité. Par exemple, si 5 données sont ajoutées normalement dans la base de données, et que 2 sont supprimées à ce moment-là, alors si les données sont ajoutées à nouveau, la colonne d’identification auto-croissante sera automatiquement attribuée à une valeur de 6, mais si vous souhaitez attribuer une valeur de 3 lors de l’insertion de données, ce n’est pas autorisé par défaut. Si vous voulez changer la valeur de ce champ, vous pouvez complètement contrôler l’insertion de la valeur du champ d’identification, il y a encore des méthodes, haha.
METTRE IDENTITY_INSERT /[TABLE/] [ON| OFF] En utilisant l’instruction ci-dessus, vous pouvez facilement contrôler si une colonne d’identifiant auto-croissante dans un tableau va automatiquement croître, c’est-à-dire si vous êtes autorisé à spécifier manuellement la valeur du champ de colonne d’identifiant lors de l’insertion d’un enregistrement. Si spécifié comme on, vous pouvez spécifier la valeur du champ de colonne d’identification lors de l’insertion, ce qui ne fait pas croître automatiquement la valeur assignée. Bien sûr, si vous l’utilisez, vous devez utiliser cette instruction pour désactiver l’interrupteur vers l’état par défaut, sinon le champ n’augmentera pas automatiquement la valeur assignée lors de l’insertion prochaine des données.
2. Réinitialiser la valeur du champ de la colonne d’identification :
Lorsqu’une partie de l’enregistrement de données est supprimée, et que le nouvel enregistrement de données est ajouté plus tard, la valeur de la colonne d’identification aura un long intervalle d’inactivité, ce qui paraît très désagréable. Même si vous supprimez tous les enregistrements dans la table, la valeur de la colonne d’identité continuera d’augmenter automatiquement et de croître sans fin, au lieu de croître à partir de zéro. La valeur de la graine du champ auto-croissant peut être réinitialisée en utilisant l’instruction suivante :
DBCC CHECKIDENT(TABLE, [RESEED| NORESEED], [1]) L’instruction ci-dessus forcera la valeur de départ de la table spécifiée à être réinitialisée à 1. Cependant, si vous ne souhaitez pas réinitialiser la graine à 1, vous pouvez remplacer le troisième paramètre par la valeur de la graine que vous souhaitez utiliser. Si vous voulez connaître la seed actuelle au lieu de réinitialiser celle identifiée, vous devez utiliser NORESEED au lieu de définir le troisième paramètre. |