首页 > 解决方案 > 使用存储过程更新复选框时仅发送一次电子邮件

问题描述

我有一个存储过程,当对表单进行更新时,它会通过电子邮件通知收件人。单击表单上的复选框时,我想将其发送到某个部门。这工作正常。问题是当那个部门完成他们的任务时,他们会选中一个不同的复选框来通知下一个部门,依此类推。问题是记录正在更新,第一个复选框仍然被选中,它向第一个部门发送了两次电子邮件。有没有办法我只能给每个部门发一次电子邮件?下面是我在存储过程中使用的逻辑。

IF @HRApproval = 1
BEGIN
    DECLARE @EmailAdd NVARCHAR(100);
    DECLARE @Body NVARCHAR(2000) = '';
    DECLARE @Subject NVARCHAR(250) = '';

    SET @Body = @Body + '<p>New Employee Request Form has been approved'
    SET @Body = @Body + '<br /><p><a href="titleofwebpage.aspx?nhId=' + CAST(@IDNumber AS NVARCHAR(255)) + '">Link to NER</a></p>';

    EXEC msdb.dbo.sp_send_dbmail 
              @profile_name = 'MainProfile',
              @recipients = 'emailaddress',
              @from_address = 'emailaddress',
              @subject = @Subject,
              @body_format = 'HTML',
              @body = @Body;
END

标签: sql-server-2012

解决方案


推荐阅读