Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Champs compteur @@IDENTITY ou SCOPE_IDENTITY() ?

Il y a plusieurs moyens d'obtenir la dernière valeur insérée dans un champ compteur sur SQL Server (champ de type IDENTITY).

  • @@IDENTITY renvoie la dernière valeur attribuée à un champ IDENTITY sur la connexion
  • SCOPE_IDENTITY() renvoie la dernière valeur attribuée à un champ IDENTITY par rapport à la portée en cours.

@@IDENTITY risque de vous renvoyer une valeur fausse si vous utilisez MARS (Multiple Active ResultSet) et lors de l'utilisation d'une réplication. En fait celà se produit dans des cas où plusieurs mises à jour peuvent se produire sur la même table sur la même connexion.

SCOPE_IDENTITY() lui ne vous renverra que la valeur générée dans la portée en cours, donc pas de soucis de valeur quelques soient les fonctionnalités que vous utilisez.

Pour en savoir plus sur les champs de type compteur : http://www.sqlfr.com/tutorial.aspx?ID=512

Bon développement…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié vendredi 23 février 2007 15:24 par christian
Classé sous : ,

Commentaires

vendredi 22 février 2008 19:53 by louve

# re: SQL Server : Champs compteur @@IDENTITY ou SCOPE_IDENTITY() ?

Bonjour,

en fait ce n'est pas un commentaire, mais plutôt une question.

j'aurai voulu avoir un compteur roulant sur une vue, ie, ajouter dans une nouvelle colonne "total" la valeur de "total" de la ligne précédente et d'une autre colonne de la ligne en cours. le hic, c'est que ma vue ne comprend pas de n° de ligne, et que "sum" me renvoie évidemment que le total de toutes les lignes. comment puis-je faire? j'ai cherché des choses, mais je ne veux pas faire une procédure stockée ou une fonction et ce que j'ai trouvé sur internet ne correspond qu'à du php ou du mysql et à des créations de tables.

merci d'avance de votre aide.

louve.

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Microsoft annonce le nom commercial de Windows 7 par Code is poetry le il y a 4 heures et 13 minutes

- [Silverlight] Téléchargez la version finale (et les outils associés) dès maintenant ! par Thomas Lebrun le il y a 5 heures et 42 minutes

- Vilain bug avec IQueryable et la syntaxe yield : System.BadImageFormatException "An attempt was made to load a program with an incorrect format. (Exce... par Matthieu MEZIL le il y a 8 heures et 32 minutes

- SQL Server 2008 : Un livre en cours de préparation ! par SQL Server vu par Christian Robert le il y a 17 heures et 24 minutes

- IIS7 : à quel pool d'application correspond le processus w3wp.exe par Atteint de JavaScriptite Aiguë [Cyril Durand] le il y a 18 heures et 21 minutes

- PDC 2008 - J-14 ! par Nix's Blog le il y a 20 heures et 6 minutes

- [Silverlight] La version finale de Silverlight 2 sera disponible en téléchargement demain ! par Thomas Lebrun le il y a 21 heures et 59 minutes

- SharePoint 2007 : Professional Developers Conference 2008 par Philippe Sentenac [MVP SharePoint] le 10-13-2008, 12:28

- [Silverlight] En attendant Silverlight 2 RTW par Blog Technique d'Audrey PETIT le 10-11-2008, 21:55

- Le nouveau Gojira, c’est pour lundi… par CoqBlog le 10-11-2008, 01:18