Salut,

Ce poste lié à un autre cible plus le problème qui me préoccupe.

J'ai 2 variables A et B qui sont des champs de 2 curseurs différents.

Leurs valeurs s'implémentent dans une boucle repeat until

Je veux faire une comparaison sur ces 2 variables dans un IF mais ca ne marche pas.
Pour l'avoir tester, ces valeurs s'implémentent correctement.

IF A = B
then insert into test
values (A,B);
END IF


Mais:

IF A = B n'est pas compris dans mon code.
et
IF A<>B renvoie une erreur
ERROR 1136 (21S01): Column count doesn't match value count at row 1

Hors les 2 requêtes de créations des curseurs sont:

  1. DECLARE cabrev CURSOR FOR select abreviations,correction from abreviation;
  2. DECLARE cadresse CURSOR FOR select adr1 from clients;


Donc en aucun cas un count, d'une part et d'autre part le jeu de test contient forcement une égalité A = B.

Quelqu'un comprend t'il pourquoi cela ne fonctionne pas ? pourquoi lorsque je fais sauter la condition IF l'insert des variables A et B fonctionne, alors qu'il semblerait qu'à partir du moment ou je rajoute cette condition IF, mysql est incapable de m'insérer ces valeurs dans test.