Bonjour,

Je souhaiterais effectuer une gestion avancée des erreurs dans mes procédures stockées et récupérer au moins mon numéro d'erreur en dynamique .

J'ai essayé le code ci-dessous, mais il ne me renvoi rien (numerr=vide) en code d'erreur.

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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  DECLARE ERR     BOOL DEFAULT false;
   DECLARE CONTINUE HANDLER FOR SQLEXCEPTION,SQLWARNING
   BEGIN
       IF @SQLEXCEPTION =0 THEN
         SET numerr := @SQLWARNING;
       ELSE
         SET numerr := @SQLEXCEPTION;
       END IF;
       SET messerr := 'SQL Error...';
       SET ERR = true;
   END;
 
   SET numerr := 0;
   SET messerr := '';
 
   IF (_T) THEN
       SET AUTOCOMMIT=0;
       START TRANSACTION;
   END IF;
   -- ######################################################
   INSERT INTO table   ( champ1, champ2)
   VALUES   (_chp1, _chp2);
 
   SELECT LAST_INSERT_ID()
   INTO id_table_   ;
######################################################
   -- 
 
   IF (_T) THEN
     IF (ERR) THEN
          SELECT -1, numerr, messerr;
          ROLLBACK;
     ELSE
          SELECT id_table_ , 0, '';
       COMMIT;
     END IF;
   END IF;
Quelqu'un pourrait il m'aider, svp ?

d'avance merci.

Filouxera