l'ajout de contenu dynamique dans le corps d'un e-mail (messagerie de base de données) avec sp_send_dbmail
Est-il un moyen que je peux ajouter, à la fois dans la requête suivante, comme le corps de mon e-mail :
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'TEST_DEV',
@recipients = '[email protected]',
@query = ' select
Percentage = CONVERT(DECIMAL(10,1),100 - (CAST(COUNT(DISTINCT case when PD.Exception != ' ' then PD.Id END) as float)/CAST(COUNT(PD.Id) as float)*100))
from
DataBaseName.dbo.Product P INNER JOIN DataBaseName.dbo.LogProduct PD
ON P.LogId = PD.LogId
WHERE
ResponseTime < GETDATE() and RequestTime > DATEADD(MINUTE, -150, GETDATE())
' ,
@subject = 'Test',
@body = 'Please check the attached file for Providers with Many unsuccessful calls between the time xx an yy',
@attach_query_result_as_file = 1 ;
De la ligne courante
@body = 'Please check the attached file for info on calls between the time xx an yy',
Je voudrais ajouter GetDate() à la place de xx et DATEADD(MINUTE, -150, GETDATE()) à la place de aa ?
est-il possible ?
declare @body nvarchar(max)
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'DEV',
@recipients = '[email protected]',
@query = 'exec Database.dbo.spTest' ,
@subject = 'Test',
select @body = 'Please check the attached file for info on calls between the time ........................',
@attach_query_result_as_file = 1 ;
Voudriez-vous me faire quelque chose comme cela ?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer une procédure stockée envoyer ce mail[s] donc:
Vous pouvez déclarer votre @corps de la variable avant de l'instruction EXEC et d'en faire une chaîne que vous souhaitez.
Modifier:
J'ai mis à jour ce afin d'être plus verbeux. Je n'ai pas sp_send_dbmail configed n'importe où pour tester, mais je pense que cela devrait fonctionner correctement. J'ai créé une variable chaîne de caractères appelée @bodyMsg, mis à la chaîne que vous voulez avant l'appel de procédure stockée, puis lui a donné de la valeur à l' @corps variable dans sp_send_dbmail.
Puis il suffit de passer le @corps à la variable sp_send_dbmail procédure stockée. Différents formats dateheure peut être trouvé ici: http://technet.microsoft.com/en-us/library/ms187928.aspx
@body
argument doit êtreNVARCHAR(something)
. lienn
avantvarchar
O. o