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:
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').
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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.
Partager