Bonsoir j'ai besoin d'aide
Voila mon code :
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
DELIMITER $$
CREATE TRIGGER after_insert_bon_de_livraison AFTER INSERT
ON bon_de_livraison FOR EACH ROW
 BEGIN
         DECLARE v_code_bl VARCHAR(8);
         DECLARE nbre_num_attribuer VARCHAR(8);
        -- Détermination du nombre de ligne enregistrée
         SELECT COUNT(CODE_BL) INTO nbre_num_attribuer FROM bon_de_livraison;
        -- S'il n'y a pas aucun numéro attribué le premier numéro d'office est 'BL-00001'
        IF nbre_num_attribuer = 0 THEN
          SET v_code_bl = 'BL-00001';
        -- Dans le cas contraire
        ELSE
             -- Détermination du plus grand numéro attribué --
               SELECT MAX(RIGHT(CODE_BL,CHAR_LENGTH(CODE_BL)-3)+1) INTO nbre_num_attribuer FROM bon_de_livraison;
             -- Attribution du nouveau numéro --
               SET v_code_bl = CONCAT('BL-', REPEAT('0', 5 - CHAR_LENGTH(nbre_num_attribuer)), nbre_num_attribuer );
        END IF;
         UPDATE bon_de_livraison SET CODE_BL = v_code_bl WHERE NUM_BL = NEW.NUM_BL; 
 END $$
DELIMITER ;
Et voilà l'erreur que Mysql me renvoie:

#1442 - Can't update table 'bon_de_livraison' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
Aider moi à résoudre le problème