créer TRIGGER sur 1 table avec liaison sur 2 autre table
Je suis débutant dans l'étude et la manipulation de SQL SERVER, j'ai déjà effectué plusieurs manipulations de requétes, et maintenant je me lance dans la création de TRIGGER, mais je n'arrive pas a utiliser les TRIGGER avec des fonction IF ..... INSERT.
J'ai regardé et essayé de comprendre par rapport au cour présent sur le site mais j'ai des difficultés à réussir les TRIGGER.
J'avais réussi a faire apparaitre un message selon l'une ou l'autre condition, mais sur ce TRIGGER là je bloque.
J'essai de faire un TRIGGER qui en fonction de la remise MAX autorisé pour un article et celle donné par le vendeur, m'applique ou non la remise faite par le vendeur si celle ci n'est pas suppérieur a celle autorisé.
Dans mon code, je crées un TRIGGER sur l'insertion dans la table CmdRem (commande Remise), ensuite je compare le 2 remise présente dans les 2 tables Article et Panier. Si la remise dans Article et inférieur a celle dans Panier il y a un message d'erreur, fin de la première condition. Si la remise dans Article et supérieur a celle dans Panier alors il me fais l'insertion dans la table commande.
voici mon code:
Code:
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
|
CREATE TRIGGER RemCmd ON CmdRem
FOR INSERT
AS
BEGIN
/* Comparaison des 2 remises */
/* Si superieur message erreur */
IF Panier.remise > Article.remise
BEGIN
set @errno = 30002
set @errmsg = 'La remise ne êut etre effectuée.'
GOTO LBL_ERROR
END
/* Si inferieur appliquer l'insertion */
IF Panier.remise < Article.remise
BEGIN
INSERT CmdRem
SELECT (CmdRem.N°cmd+1),((Article.Prix_public*Panier.remise)/100),Panier.remise
FROM Panier,Article
WHERE Panier.Login="mdp"
END
RETURN
/* Gestion des erreurs */
LBL_ERROR:
RAISERROR @errno @errmsg
ROLLBACK TRANSACTION
END |
Par contre , dès que je fais appliqué pour créer le TRIGGER dans SQL SERVER il me fait une erreur sur le mot BEGIN ("Syntaxes incorrecte vers le mot clé 'BEGIN').
S'il y a quelqu'un qui peut m'aider a comprendre comment faire un TRIGGER de ce style ou me dire s'il y a un endroit sur le site (que j'ai peut etre pas vu) ou je pourrai mieux comprendre la création des TRIGGER je l'en remercie d'avance.