za3ima41
Messages postés32Date d'inscriptionlundi 23 octobre 2006StatutMembreDernière intervention24 septembre 2009
-
21 avril 2008 à 10:45
Radeon048
Messages postés19Date d'inscriptionlundi 20 juin 2005StatutMembreDernière intervention27 avril 2008
-
27 avril 2008 à 22:28
je vous empri aider moi
voilà ce que j'ai écris ds un triggers d'insertion pr empecher la valeur du qté de stock d'un article de descendre à 0 mais ça ne marche pas
****trigger
create trigger ins1
on Ligne_Sortie
for insert
as
begin
declare
@qte as int
set @qte=(select Qté from INSERTED)
declare
@n as integer
set @n=(select reference from INSERTED)
update Article
if (Qté<=0)
commit
begin
raiserror('Operation Non Permise, Stock Epuisé',16,1)
rollback transaction
end
else
set Qté=([mailto:Qté-@qte Qté-@qte])
where [mailto:reference=@n reference=@n]
print @n
print @qte
end
***erreur
Serveur : Msg 156, Niveau 15, État 1, Procédure ins1, Ligne 13
Syntaxe incorrecte vers le mot clé 'if'.
Serveur : Msg 156, Niveau 15, État 1, Procédure ins1, Ligne 19
Syntaxe incorrecte vers le mot clé 'else'.
Radeon048
Messages postés19Date d'inscriptionlundi 20 juin 2005StatutMembreDernière intervention27 avril 2008 27 avril 2008 à 22:28
Déjà a mon avis ta un gros problème quand tu utilise Qté dans ton if cette variable n'est pas déclarer et si j'ai bien compris elle doit contenir la valeur d'origine que tu a en base la ce n'est pas le cas donc ton if passe pas.