Comment faire une requête dynamic dans ce scénario. sql 2005

J'essaye d'entrer des userids de la requête pour leur envoyer des email. cela ne fonctionne pas et me donne cette erreur

Msg 14624, niveau 16, état 1, procédure sp_send_dbmail, ligne 238 Au less un des parameters suivants doit être spécifié. "@recipients, @copy_recipients, @blind_copy_recipients".

declare @bodymsg nvarchar(max) select @bodymsg = '<font face="calibiri" size="4" >Dear Users</font><br><br> <font face="calibiri" size="5" color="red">Please Explain the Exrta Locked Faxes</font><br><br> <font face="calibiri" size="4" >Check the Last Hour Snapshot Details Attached.<br><br> Thanks</font></end>' declare @users_fetched varchar(max) set @users_fetched = 'SELECT distinct Locked_Faxes_Last_Hour_Snap.userid from Locked_Faxes_Last_Hour_Snap' declare @recipients varchar(max) SELECT @recipients = STUFF((SELECT ';' + concerned_staff.staff_email from concerned_staff where (concerned_staff.staff_id in ('@users_fetched')) FOR XML PATH('') ), 1, 1, '') EXEC msdb.dbo.sp_send_dbmail @recipients = @recipients , @body= @bodymsg , @subject = 'Alert !!! Locked Faxes Violation Last Hour Snaps' , @profile_name = 'Database Profile 1', @query = 'use qtel select * from dbo.Locked_Faxes_Last_Hour_Snap' , @attach_query_result_as_file = 1, @query_attachment_filename ='Locked_Faxes_Last_Hour_Snap.csv', @query_result_separator =',', @query_result_no_padding=1, @exclude_query_output=1, @append_query_error=0, @query_result_header =1, @body_format ='HTML', @importance= 'HIGH'; 

Vous n'avez pas besoin de SQL dynamic ici. Placez simplement votre requête pour récupérer les users en tant que sous-requête IN where condition, lorsque vous créez des destinataires:

 SELECT @recipients = STUFF((SELECT ';' + concerned_staff.staff_email from concerned_staff where concerned_staff.staff_id in ( SELECT Locked_Faxes_Last_Hour_Snap.userid from Locked_Faxes_Last_Hour_Snap ) FOR XML PATH('') ), 1, 1, '')