Affected_rows() en SQL

Résolu
Ordinastie Messages postés 93 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 - 19 oct. 2006 à 10:43
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 - 19 oct. 2006 à 14:48
Bonjour,

J'ai un problème super simple, mais impossible de trouver une solution en cherchant sur le net:
j'ai besoin de connaitre le nombre d'enregistrements modifiés (par un INSERT ou DELETE), mais en SQL (à l'intérieur d'une procédure en fait). J'ai trouvé l'équivalent du nombre de lignes retournée par un SELECT avec found_rows() mais rien pour les lignes modifiées. Quelqu'un pourrait m'éclairer?

Merci d'avance,
@+ Ordinastie

3 réponses

Ordinastie Messages postés 93 Date d'inscription samedi 29 janvier 2005 Statut Membre Dernière intervention 17 octobre 2008 2
19 oct. 2006 à 14:34
Merci pour la réponse, mais @@ROWCOUNT n'existe pas en MySQL. Néanmoins, ca m'a permis d'orienter un peu mes recherche et j'ai fini par trouver la fonction ROW_COUNT() disponible depuis la version 5.0.1 (pas sur du chiffre exact). C'est exactement ce que je cherchais.

@+ Ordinastie
3
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
19 oct. 2006 à 13:38
La variable @@ROWCOUNT contient le nombre de ligne affecter par la derniére instruction.

Petite mise en garde la valeur de la variable changa aprés chaque insertion, supression, modification... donc si le nombre de ligne affecter doit être utiliser aprés que d'autre opération soit effectué il faut pensser a la sauver dans une variable local:

DECLARE @NbLignesMod int;
Update ......;
SET @NbLignesMod = @@ROWCOUNT;
..... Autres instructions.....
RETURN @NbLignesMod;
0
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
19 oct. 2006 à 14:48
Tan mieux si ca t'a aider, je croyais être sur un thread SQL Server... (Errar Humanum Est)
0
Rejoignez-nous