1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
DECLARE @nbr_commande int
DECLARE @nbr_disponible int
DECLARE @nbr_message_erreur varchar(25)
DECLARE @nbr_restant int
DECLARE @id_article int
DECLARE @libelle_article varchar(25)
DECLARE @erreur varchar(125)
SELECT @nbr_commande = qte_commande, @id_article = article_id
FROM INSERTED
SELECT @nbr_disponible = qte_disponible, @libelle_article = libelle_article
FROM ARTICLE
WHERE id_article = @id_article
IF (@nbr_commande <= @nbr_disponible)
begin
SET @nbr_restant = @nbr_disponible - @nbr_commande
UPDATE ARTICLE
SET qte_disponible = @nbr_restant
WHERE id_article = @id_article
end
ELSE
begin
SELECT @nbr_message_erreur = CONVERT(varchar(25), @nbr_disponible)
SET @erreur = 'la commande ne peut pas contenir plus de ' + @nbr_message_erreur + ' fois l article' + @libelle_article + '.'
RAISERROR(@erreur, 16, 1)
ROLLBACK
end |
Partager