Php/mysql Trigger

Résolu
Bonjour,
J'ai un probleme avec l'execution du trigger sur la gestion des stocks des equipement. Normalement ,apres l'insertion d'une ligne dans la table posseder le trigger doit se declencher pour diminuer l'etat du stock correspondant au libelle. Mais mon insertion ne s'effectue pas a cause du trigger.
Je joins le code du trigger et les tables correspondante.
Merci d'avance.

Create Table EPI
( num_epi int(11)auto_increment ,
Libelle varchar(20) not null ,
StockActu int(2) not null ,
StockAL int(2) not null ,
Primary key (num_epi)
);

create table posseder
( Num_sal int(11) not null ,
num_epi int(11) not null ,
taille varchar(2) not null ,
dateremise date not null ,
observation varchar(50) not null default '',
primary key (num_sal,num_epi,dateremise,taille),
foreign key (num_sal) references salaries(num_sal),
foreign key (num_epi) references epi(num_epi)
);

create trigger Gestion_stock
after insert on posseder
for each row
BEGIN
IF (select EPI.StockActu from EPI,posseder where Posseder.num_epi = EPI.num_epi) != null then

update EPI SET EPI.StockActu = ( EPI.StockActu - 1) where posseder.num_epi = EPI.num_epi;
END IF;

END//
Configuration: Windows XP
Firefox 2.0.0.11

2 réponses

  1. Essais :
    create trigger Gestion_stock
    after insert on posseder
    for each row
    BEGIN
    IF (select EPI.StockActu from EPI where NEW.num_epi = EPI.num_epi) != null then

    update EPI SET EPI.StockActu = ( EPI.StockActu - 1) where NEW.num_epi = EPI.num_epi;
    END IF;
    1
    1. salut tt le monde,

      svp,j ai un probleme urgent,je voulais ecrire un trigger qui fait ca:

      - si la date de la commande est moins que 3 jour de la date de livraison,il doit afficher un message d erreur.

      voici en bas, en detail ce qu il doit faire le trigger

      Pour une commande standard (achat d’un bouquet standard), la cyberboutique
      garantit la disponibilité en inventaire des items composant le
      bouquet seulement si la commande a été passée au moins 3 jours avant la
      date de livraison. Pour les commandes standards effectuées moins de 3
      jours avant la date de livraison, c’est le client qui assume le risque. Il est
      donc très important d’informer ces clients d’une éventuelle pénurie. L’état
      de la commande sera alors « VINV »
      -1