Bonjour,

(J'avais posté dans un autre forum par erreur)


Je débute dans le monde MySQL.

Je planche sur une procédure stockée qui devrait me renvoyer l'ensemble du contenu d'une table.

Je me suis inspiré d'un bout de code trouvé sur le site xxxxxxxx.

Hors le résultat est invariablement la première ligne de la table alors qu'elle en contient plusieurs.

Voici le code:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
delimiter |
 
CREATE PROCEDURE listeClients( IN cle TEXT)
 
 
BEGIN
        DECLARE done INT DEFAULT 0;
        DECLARE var_idClient INT;
        DECLARE var_nom TEXT;
        DECLARE var_prenom TEXT;
        DECLARE var_role TEXT;
        DECLARE var_login TEXT;
        DECLARE var_compteurConnexion INT;
        DECLARE var_dateDeNaissance DATE;
        DECLARE var_sexe TEXT;
 
        DECLARE curseur CURSOR FOR
         SELECT 
             IDCLIENT, 
             NOM, 
             PRENOM, 
             ROLE, 
             LOGIN, 
            COMPTEURCONNEXION, 
            DATEDENAISSANCE, 
            SEXE 
          FROM clients;
 
       DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
 
        OPEN curseur;
 
		REPEAT
 
                FETCH curseur INTO var_idClient, var_nom, var_prenom, var_role, var_login, var_compteurConnexion, var_dateDeNaissance, var_sexe;
				IF done = 0 THEN
                        SELECT 
                          var_idClient, 
                          AES_DECRYPT(`var_nom`,cle), 
                          AES_DECRYPT(`var_prenom`,cle),
                          AES_DECRYPT(`var_role`,cle),
                          AES_DECRYPT(`var_login`,cle),
                          AES_DECRYPT(`var_compteurConnexion`,cle),
                          AES_DECRYPT(`var_dateDeNaissance`,cle),
                          AES_DECRYPT(`var_sexe`,cle) ;
					END IF;
			UNTIL done
			END REPEAT;
 
    CLOSE curseur;
END|
 
delimiter ;
J'y ai passé la nuit. et toujours pas de résusltat.

Si je pouvais avoir un peu d'aide.

Merci