Bonjour tous
j'ai mis en place une procédure qui ne marche pas ! je ne sais pas ou se trouve l'erreur, voici le code :
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
25
26
27
SET TERM ^ ;
 
CREATE PROCEDURE FOTO
RETURNS(
  RESULTAT VARCHAR(500) CHARACTER SET ISO8859_1)
AS
DECLARE VARIABLE MONCODE VARCHAR(80);
DECLARE VARIABLE LAROUTE VARCHAR(200);
DECLARE VARIABLE LEFICHIER VARCHAR(100);
BEGIN
FOR
SELECT replace(champ5,'/','-'), LECHEMINFICHIER(champ15) ,LENOMFICHIER(champ15)
FROM MESINFORMATIONS
WHERE champ15 CONTAINING '\'
INTO :moncode,:laroute, lefichier
DO
BEGIN
RESULTAT=:laroute||'\'||:moncode||''||'.jpg';
UPDATE MESINFORMATIONS
SET
champ15=:RESULTAT
WHERE CHAMP5=:moncode;
SUSPEND;
END
END^
 
SET TERM ; ^
A l’exécution pas de problème, mais après un select sur le table rien n'a changé.
A mon avis a chaque sélection de la boucle for il doit avoir une exécution d'update !

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
FOR
SELECT .....................................  //A chaque select
DO
BEGIN
UPDATE.......................................//On un update
END
END^
Merci pour vos éclairages.