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

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le il y a 13 heures et 29 minutes

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le il y a 16 heures et 2 minutes

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le il y a 23 heures et 57 minutes

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59

- Perspective 3.0 pour Silverlight 5.0 par Perspective le 02-07-2012, 22:39