Bonjour,
je souhaite créer un déclencheur et envoyer un mail d'avertissement aux utilisateurs enregistrés.
La création du déclencheur ne pose pas de problèmes.
J'ai une table qui contient tous les utilisateurs avec leur adresse mail.
Dans le déclencheur, il y a une requête qui sélectionne les utlisateurs suivant un critère de région. La sélection s'effectue sans difficultés.
Par contre, je souhaite faire une concaténation de tous les adresses mails pour éviter d'envoyer plusieurs le même message. C'est dans la concaténation que ça plante et je vois pas comment faire.
Voici le code :
Dans le message, j'ai rien du tout. En testant dans l'analyseur de requêtes, c'est au niveau du set @EmailReg = ... que ça marche pas. Toutes les autres instructions sont executées.
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 CREATE TRIGGER nvperso ON PERSONNE FOR UPDATE AS Declare @Nom nvarchar(50), @Prenom nvarchar(50), @msg nvarchar(50), @EmailT varchar(50), @EmailReg varchar(300) Select @Nom = NomPersonne from inserted Select @Prenom = PrenomPersonne from inserted Set @msg = @Nom +' ' +@Prenom + ' a été modifié' DECLARE Email_cursor CURSOR FOR Select Email from Utilisateurs inner join Communes on Utilisateurs.Region = Communes.Region inner join inserted on Communes.IdCommune = inserted.IdCommuPersonne OPEN Email_cursor FETCH NEXT FROM Email_cursor INTO @EmailT WHILE @@FETCH_STATUS = 0 BEGIN set @EmailReg = @EmailReg + @EmailT + ';' --cette ligne ne marche pas FETCH NEXT FROM Email_cursor INTO @EmailT END CLOSE Email_cursor DEALLOCATE Email_cursor EXEC master..xp_sendmail @recipients = 'toto@toto.fr', @message = @EmailT, @subject = @msg
Est ce quelqu'un a une idée ?
Merci !
Partager