Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 2008
-
19 oct. 2006 à 10:43
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 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?
Ordinastie
Messages postés93Date d'inscriptionsamedi 29 janvier 2005StatutMembreDernière intervention17 octobre 20082 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.
cs_Malkuth
Messages postés268Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention24 avril 20134 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;