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
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
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 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
Après plusieurs essai de syntaxe différente, j'ai toujours pas trouver d'où vient mon pb. Une idée ? Merci![]()
Partager