2010-03-01 4 views
0

Je suis en train de créer un déclencheur sur une base de données appelée dbo.DHCPReport, qui a une colonne appelée « returneduserclass nvarchar (128) ». Je veux avoir la gâchette envoyer un e-mail lorsque la colonne de returneduserclass est rempli avec le « NACDeny » suivant. le déclencheur que j'ai est ci-dessous, actuellement tout cela n'est email lorsqu'un "insérer" se produittrigger SQL sur des données spécifiques avec la colonne

créer TRIGGER [dbo]. [Email_IT8] ON [ReportStore]. [Dbo]. [DHCPReport] la mise à jour AS DECLARE @returneduserclass nvarchar (128) si la mise à jour (returneduserclass) SELECT @ returneduserclass = 'NACDeny'

Où vais-je tort?

Répondre

1

Tout d'abord, essayez-vous d'envoyer cet e-mail lorsqu'un enregistrement est inséré ou quand un enregistrement est mis à jour? Ils sont 2 choses différentes ...

IF après un INSERT vous pouvez capturer la nouvelle ligne et interroger comme vous le feriez une variable: REFERENCING NEW AS N
IF N.Returneduserclass = 'nacdeny' then
do stuff
End if

0

déclencheurs SQL sont très, très nouveau pour moi, donc mes excuses si J'ai mal la terminologie! Je suis après les données quand il est inséré. Si tel est le cas où abouts dans le déclencheur ne le « NEW AS N REFERENCING SI N.Returneduserclass = « NACDeny » » s'insérer?

Est-ce un de déclencheur existant sql correcte? Je l'ai fait remplacer la première « mise à jour » avec insert juste pour tourner la gâchette hors pour les tests, etc. En outre, si la seconde « mise à jour » être un « insert »? Si j'essaye, ça revient avec des erreurs.

Merci

Questions connexes