chris_389
Messages postés1Date d'inscriptionlundi 9 juillet 2007StatutMembreDernière intervention18 janvier 2008
-
18 janv. 2008 à 08:20
nickydaquick
Messages postés416Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention19 décembre 2013
-
18 janv. 2008 à 16:29
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;
nickydaquick
Messages postés416Date d'inscriptionvendredi 31 janvier 2003StatutMembreDernière intervention19 décembre 20133 18 janv. 2008 à 16:29
Salut,
Je pense que tu veux en fait a chaque insertion d'un item dans la table posseder , tu veux decrementer le stock associe (pas tout au complet) .
Dans ce cas corriges le Posseder.num_epi pour posseder.num_epi , et utilise le mot cle NEW ki fait reference a la nouvelle ligne inseree.
maintenant pourque ton trigger puisse etre valide, assure toi d'avoir les privileges necessaires ( SUPER ) , sinon passe par une procedure stockee
je suis heureux de faire partie d'une grande famille ...!