SQL Server - La FAQConsultez toutes les FAQ

Nombre d'auteurs : 13, nombre de questions : 119, dernière mise à jour : 31 mai 2011  Ajouter une question

 

Question / réponses à tout ce que vous avez toujours voulu savoir sur Microsoft SQL Server sans jamais oser le demander


SommaireTrucs et Astuces en T-SQLChamps auto-incrémentés (3)
précédent sommaire suivant
 

SET IDENTITY_INSERT Autorise l'insertion de valeurs explicites dans la colonne d'identité d'une table. Exemple :

Code tsql : Sélectionner tout
1
2
3
4
5
6
7
SET IDENTITY_INSERT products ON 
GO 
INSERT INTO products (id, product) 
VALUES(3, 'garden shovel'). 
GO 
SET IDENTITY_INSERT product OFF 
GO
Cette façon de faire va à l'encontre du comportement même de l'identity et ne devrait être utilisée qu'exceptionnellement.

Mis à jour le 28 septembre 2005 WOLO Laurent

Il suffit de consulter la valeur de la variable de sessions @@IDENTITY juste après l'insertion, faire :

Code tsql : Sélectionner tout
Select @@Identity as Dernière_Valeur_AutoIncrémenté
Utiliser la fonction IDENT_CURRENT pour Renvoie la dernière valeur d'identité générée
pour une table spécifiée dans n'importe quelles sessions et portée.

Code tsql : Sélectionner tout
SELECT IDENT_CURRENT('t_produit')

Mis à jour le 28 septembre 2005 WOLO Laurent

Vous pouvez supprimer la table puis la recréer.
Mais, je préfère supprimer les données de la table puis redéfinir la valeur de l'auto-incrément par :

Code tsql : Sélectionner tout
DBCC CHECKIDENT ('MaTable', RESEED, 1)

Mis à jour le 28 septembre 2005 WOLO Laurent

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Contacter le responsable de la rubrique SQL-Server