Besoin d'aide SVP

Résolu
youyou500 Messages postés 3 Date d'inscription lundi 14 février 2011 Statut Membre Dernière intervention 22 février 2011 - 21 févr. 2011 à 12:02
youyou500 Messages postés 3 Date d'inscription lundi 14 février 2011 Statut Membre Dernière intervention 22 février 2011 - 22 févr. 2011 à 09:41
Bonjour A Tous
j'ai 3 table client , produit et commande
client : Nclient .............
produit : Nprduit , stock ...........
Commande : Ncmd , Nclient ,Nproduit , Qtecmd

je vx que quand un client effectuera une commande en entrant la quantité l'attribut stock du table produit sera mis a jour automatiquement
et pour cela j'ai fais procedure + trigger

create proc calcule @Nproduit int
as begin
declare @stock int , @Qtecmd int
set @stock=@stock-@Qtecmd
update produit set stock=@stock where produit.Nproduit=commande.Nproduit and @stock=prduit.stock and @Qtecmd=commande.QteCmd
end



create trigger clcauto on commande for insert,update,delete
as begin
declare @Nproduit int
update produit set stock=0 where Nproduit in(select Nproduit from deleted union select Nproduit from inserted)
set @Nproduit=(select Nproduit from inserted union select Nproduit from deleted)
exec calcule @Nproduit
end


Quelqu'un peut me corriger

Merci d'avance

1 réponse

youyou500 Messages postés 3 Date d'inscription lundi 14 février 2011 Statut Membre Dernière intervention 22 février 2011
22 févr. 2011 à 09:41
J'ai reglé le probleme

create trigger calcauto on commande for insert
as begin
declare @f int
declare @qt int
set @qt=(select Qtecmd from inserted)
set @f=(select stock from produit)
update produit set stock=@f-@qt where Nproduit in(select Nproduit from inserted)
end
3
Rejoignez-nous