Pages : 1
#1 Le 17/04/2007, à 16:49
- blt909
Pb avec procédures stockées MySQL
Boujour à tous,
j'ai migré dernièrement une BDD depuis Mysql Community sous Win2003 Server sur Dapper Drake LTS,
mais depuis toutes mes procédures plantent avec ce message d'erreur:
Error Code : 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
pourtant je n'ai rien changé d'une plateforme à l'autre ...
j'ajoute un exemple de procédure simple sur laquelle l'erreur s'est produite:
DELIMITER $$
DROP PROCEDURE IF EXISTS `erp2`.`add_tour`$$
CREATE DEFINER=`sebastien.coget`@`%` PROCEDURE `add_tour`()
BEGIN
DECLARE done INT DEFAULT 0;
declare xcodeclient varchar(6);
declare xordresite tinyint;
declare xt1 tinyint(1);
declare xt2 tinyint(1);
declare xt3 tinyint(1);
declare xt4 tinyint(1);
declare xta tinyint(1);
declare xtb tinyint(1);
declare xtc tinyint(1);
declare xtville varchar(50);
declare xadr1 varchar(50);
declare xadr2 varchar(50);
declare xadr4 varchar(50);
declare xetab_id integer(10) default 0;
declare xvill_id integer(10) default 0;
DECLARE cur1 CURSOR FOR SELECT codeclient, ordresite, t1, t2, t3, t4, ta, tb, tc, tville, adr1, adr2, adr4
FROM groupegc_dev.clients order by codeclient, ordresite;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET done = 1;
delete from erp2.ville;
insert into erp2.ville (vill_lib) select distinct tville from groupegc_dev.clients;
open cur1;
REPEAT
FETCH cur1 INTO xcodeclient, xordresite, xt1, xt2, xt3, xt4, xta, xtb, xtc, xtville, xadr1, xadr2, xadr4;
IF NOT done THEN
select vill_id into xvill_id from erp2.ville where vill_lib=xtville;
if xt1 is null then set xt1=0; end if;
if xt2 is null then set xt2=0; end if;
if xt3 is null then set xt3=0; end if;
if xt4 is null then set xt4=0; end if;
if xta is null then set xta=0; end if;
if xtb is null then set xtb=0; end if;
if xtc is null then set xtc=0; end if;
/*select etab_id into xetab_id from erp2.etablissement where etab_numold=xcodeclient and (concat(etab_lib,etab_adr1)=concat(xadr1,xadr2) or etab_ordresite=xordresite);*/
insert into erp2.tournee_theorique (FKetab_id, FKvill_id, theo_t1, theo_t2, theo_t3, theo_t4, theo_ta, theo_tb, theo_tc, theo_ville, theo_numold, theo_ordresite)
values (xetab_id, xvill_id, xt1, xt2, xt3, xt4, xta, xtb, xtc, xtville, xcodeclient, xordresite);
end if;
UNTIL done END REPEAT;
CLOSE cur1;
END$$
DELIMITER ;
Cela vient-il de ma config serveur ou du code à votre avis?
Merci d'avance pour vos conseils.
Hors ligne
Pages : 1