Bonjour,

J'ai une table contrat avec 3 champs : id_contrat, #id_projet, avenant.

L'avenant est égal à 0 lorsque c'est le premier contrat d'un projet et doit s’incrémenter à chaque fois que je crée un nouveau contrat.

J'ai donc essayé de créer un trigger mais mon WorkBench me donne l'erreur suivante :

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 '.avenant = temp+1 ;

END' at line 12
et voici le trigger en question :
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
USE bqp;
 
DELIMITER // 
-- ============================================================================
--   TRIGGER CONTRAT                         
-- ============================================================================
 
CREATE TRIGGER Ajout_contrat_avenant
BEFORE INSERT ON bqp.Contrat 
FOR EACH ROW
 
BEGIN
   DECLARE temp INTEGER;
   SELECT MAX(avenant) FROM bqp.Contrat WHERE Contrat.id_projet = NEW.id_projet INTO temp;
   New.avenant = temp+1 ;
END //
Pouvez-vous m'aider merci, infiniment. Ou si vous avez une solution autre, je suis toute ouïe !