Bonjour
Soit la procédure suivante
Je souhaite récupérer le nombre de lignes mises à jour lors de la requête UPDATE. Lors de l'appel de cette procédure, la maj en base de données se passe tout à fait correctement (près de 6 000 enregistrements sont mis à jour), mais le nombre de lignes renvoyé est systématiquement 0. Je viens vers vous parce que je n'arrive pas à identifier le pourquoi du comment. Auriez-vous une idée, svp ? Merci d'avance pour votre aide.
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
16
17
18
19
20
21
22
23
24 CREATE OR REPLACE PROCEDURE MAJ_HistoMouvement_0312_0715_02(out retcodesql integer, out nb_lignes_maj integer) LANGUAGE SQL BEGIN declare sqlcode integer default 0; DECLARE rows_updated integer; --Handler de gestion des exceptions DECLARE continue HANDLER FOR SQLEXCEPTION, SQLWARNING begin SET retcodesql = SQLCODE; end; set retcodesql = 0; set nb_lignes_maj = 0; UPDATE histo_mouvement SET dmc_code = '0715'||substr(dmc_code,5,16) WHERE substr(dmc_code,1,4) = '0312'; get diagnostics rows_updated = ROW_COUNT; if rows_updated > 0 then set nb_lignes_maj = rows_updated; end if; END
Partager