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....