Impossible de déclarer un handler
Au départ je voulais capter une erreur pour faire un rollback. J'ai plus ou moins trouvé qu'il fallait utiliser DECLARE EXIT HANDLER FOR SQLEXCEPTION qu’apparemment on ne peut mettre que dans des procedures
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
CREATE PROCEDURE myProc()
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN ROLLBACK; SELECT -1;END
DECLARE EXIT HANDLER FOR SQLWARNING BEGIN ROLLBACK; SELECT -2;END
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN ROLLBACK; SELECT -3;END
set autocommit=0;
START TRANSACTION;
INSERT INTO maTable(champ1) VALUES('blabla');
INSERT INTO maTable(champ1) VALUES('blabla2');
COMMIT;
SET AUTOCOMMIT=1;
SELECT 1;
END |
et là j'ai l'erreur 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 3
Après plusieurs essai de syntaxe différente, j'ai toujours pas trouver d'où vient mon pb. Une idée ? Merci :)