alors là les gars va falloir m'aider !!!!
j'ai une table contenant une correspondance entre une abréviation et sa valeur complete
EX: RTE ------> ROUTE
j'ai à côté une table client qui contient un champs adresse ayant énormément d'abréviation de ce type.
Le but de ma procédure est de supprimé toutes ces abréviations dans le champs adresse
CREATE PROCEDURE dedou_abrev2 ()
BEGIN
DECLARE a VARCHAR(10);
DECLARE b VARCHAR(50);
DECLARE d VARCHAR(100);
DECLARE c INT;
DECLARE done INT DEFAULT 0;
DECLARE cabrev CURSOR FOR select abreviations,correction from abreviation;
DECLARE cadresse CURSOR FOR select adr1 from clients;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
open cabrev;
open cadresse;
repeat
fetch cadresse into d;
fetch cabrev into a,b;
if not done then
if a like concat(' ', left(d,2), ' ')
then
insert into test (test1)
select adr1 from clients
where d=adr1;
end if;
end if;
UNTIL done end repeat;
close cabrev;
close cadresse;
END //
Pour réduire mon champs d'investigation d'erreurs j'ai créé une table test que je cherche à incrémenter de certaines valeurs liées à mes requêtes.
La procédure se crée sans erreur mais par contre lors de son exécution il ne se passe rien
Quelqu'un a t'il une idée concernant l'erreur de syntaxe que j'ai surement due commettre ?
Merci d'avance
Partager