Bonjour,
j'aimerais pouvoir utiliser l'information du nombre de lignes changées par un UPDATE fait dans une procédure stockée (plus précisément, une FUNCTION)
voici un exemple simplifié :Comme vous l'avez devinez, je cherche la vraie syntaxe pour ##le_nombre_de_lignes_affectées_par_le_UPDATE##
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 CREATE FUNCTION ma_fonction() RETURNS INT BEGIN DECLARE nb_update INT DEFAULT 0; UPDATE table1 SET col1 = "cool" WHERE col2 LIKE "cool"; SET nb_update = ##le_nombre_de_lignes_affectées_par_le_UPDATE## UPDATE table2 SET col1 = "cool" WHERE col2 LIKE "cool"; SET nb_update = nb_update + ##le_nombre_de_lignes_affectées_par_le_UPDATE## RETURN nb_update; END
Dans le manuel MYSQL 5, il est écrit au §13.1.10:
"UPDATE retourne le nombre d'enregistrements ayant changé. Depuis la version 3.22 de MySQL, la fonction mysql_info() de l'API C retourne le nombre de colonnes qui correspondaient, le nombre de colonnes mises à jour et le nombre d'erreurs générées pendant l'UPDATE."
Mais comment je "capte" ce que UPDATE retourne ?
Merci d'avance.
Partager