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

- EF et WPF : Réponse à Thomas par Matthieu MEZIL le il y a 31 minutes

- EF et WPF par Matthieu MEZIL le il y a 15 heures et 45 minutes

- C# : Vérifications / Performances par Pierrick's Blog le il y a 19 heures et 20 minutes

- Du nouveau sur le clubvsts par Noham Choulant le il y a 21 heures et 0 minutes

- StyleCop SDK disponible par Michel Perfetti [Miiitch] le il y a 23 heures et 21 minutes

- Data Structures and Algorithms : un livre gratuit par Elise's blog le 08-29-2008, 11:39

- [ASP.NET] - Ajax vNext Preview 2 par Aurelien's Blog - When ClientSide meets .Net le 08-29-2008, 10:35

- TPH IS Not Null sur la relation par Matthieu MEZIL le 08-29-2008, 08:15

- Mise à jours du code Source du .NET Framework 3.5 SP1 disponible sur le Reference Source Code Center par RedoBlog - The .NET Gentleman !!! le 08-29-2008, 01:50

- ASP.net 3.5 SP1 : combiner les fichiers JavaScript grace au CompositeScript du ScriptManager (ex ScriptCombining du toolkitScriptManager) par Atteint de JavaScriptite Aiguë [Cyril Durand] le 08-28-2008, 22:39