IF et @@ROWCOUNT

Suite à des petits soucis que j'ai eu lors de l'exécution d'une procédure stockées (mauvaise valeur du nombre de lignes affectées),
arrêtons-nous quelques instants sur cette variable SQL Server qu'est le @@ROWCOUNT.
Nous savons qu'elle renvoie le nombre de lignes affectées dans une session donnée.
exemple :

UPDATE T_Personne
SET PersonneName = 'coach'
WHERE PersonneId = 1
SELECT @@ROWCOUNT

Nous renverra 1 (si PersonneId est la PK de la table T_Personne).
Maintenant retenons que la condition SQL IF que l'on peut trouver sous diverses formes telles que :

IF EXISTS(...)
IF(@var = 1)

est une instruction SQL (en tout cas vu comme tel par le moteur..)

et vous obtenez la mise à jour de votre variable @@ROWCOUNT (en général elle renvoie la valeur 1) lors d'un IF...

Il fallait le savoir....

Publié jeudi 3 avril 2008 14:02 par guldan
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 :

Commentaires

# re: IF et @@ROWCOUNT @ jeudi 3 avril 2008 14:50

et si mon update lance un trigger qui fait un insert, @@rowcount me donne 2?

Miiitch

# re: IF et @@ROWCOUNT @ jeudi 3 avril 2008 16:50

Hello Mitch,

le scope de cette variable est le niveau courant, donc un trigger ne va pas influer sur sa valeur.

Je fais un post prochainement sur le scope pour les identity

guldan

# re: IF et @@ROWCOUNT @ vendredi 4 avril 2008 09:57

D'où la nécessité de copier tout de suite la valeur de @@rowcount dans une variable si on a l'intention de s'en servir. De même pour @@error, pour des raisons plus évidentes :)

KooKiz


Les 10 derniers blogs postés

- Présentation Club MOSS ce jour “La nouvelle architecture de Services SharePoint 2010”… par Le blog de Patrick le il y a 1 heure et 6 minutes

- [WindowPhone7] Premiers pas par Vko le il y a 1 heure et 26 minutes

- [WP7] Le SDK de Windows Phone 7 est disponible ! par Kévin Gosse le il y a 2 heures et 19 minutes

- SQL Server : PHP et SQL Server par SQL Server vu par Christian Robert le il y a 9 heures et 42 minutes

- [TechDays 2010] Windows Azure AppFabric (CLO305) par NeuroCypher's Blog le il y a 10 heures et 54 minutes

- Outils d’import avec mise à jour dans Microsoft Dynamics CRM par Bianca le il y a 11 heures et 2 minutes

- SQL Server : Développer un AddOn pour SQL Server Management Studio (SSMS) par SQL Server vu par Christian Robert le il y a 11 heures et 17 minutes

- Editeur XAML de Visual Studio: comment aligner les attributs les uns en dessous des autres automatiquement par Michel Perfetti [Miiitch] le il y a 12 heures et 26 minutes

- MIX10 a Las Vegas : immersion par Perspective le il y a 17 heures et 36 minutes

- [RIA Services] Maitre - Détail et DomainDataSource par Blog Technique d'Audrey PETIT le 03-14-2010, 22:15