使用存储过程更新复选框后,仅发送一次电子邮件

时间:2018-10-03 22:12:36

标签: sql-server-2012

我有一个存储过程,当对表格进行更新时,它会通过电子邮件通知收件人。在表格上单击复选框后,我想将其发送到某个部门。一切正常。问题是该部门完成任务时,会选中另一个复选框通知下一个部门,依此类推。问题在于记录正在更新,并且仍选中第一个复选框,该复选框两次向第一部门发送电子邮件。有没有办法我只能向每个部门发送一次电子邮件?下面是我在存储过程中使用的逻辑。

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

0 个答案:

没有答案