Bonjour, j'ai un souci dans le retour du résultat de ma fonction.
Voici le code de ma fonction. Celle-ci à en paramètre d'entrée une chaîne de caractère et retourne en sortie la position du séparateur trouvé.
Lorsque j'éxecute les premières lignes en mode requête. pas de problèmes.
Le Select me renvoi bien les bon résultat.
J'ai l'impression que c'est mon curseur qui plante.
Merci d'avance à ceux qui pourront dénicher l'erreur.
Bonne journée à tous.
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 BEGIN DECLARE pos,posMax INT; DECLARE c_pos CURSOR FOR SELECT MIN(pos),MAX(pos) FROM posi WHERE pos>0; SET pos = 0; DROP TEMPORARY TABLE IF EXISTS posi; CREATE TEMPORARY TABLE posi (pos INT); INSERT INTO posi(pos) vALUES(INSTR(nom,'''')); INSERT INTO posi(pos) VALUES(INSTR(nom,' ')); INSERT INTO posi(pos) VALUES(INSTR(nom,'-')); OPEN c_pos; FETCH c_pos INTO pos,posMax; CLOSE c_pos; If posMax = 0 THEN SET pos = posMax; END IF; RETURN pos; END
Partager