我们有一个存储过程,它应该检查 db 并选择所有 sentFlag 为 No 的记录。
一旦找到记录,存储过程就会使用传递的参数调用 sp_send_dbmail,然后向受影响的个人发送电子邮件。
这似乎有效。
到目前为止,我们遇到的问题是每个人都收到重复的电子邮件。
任何想法此代码的哪一部分可能导致此问题?
OPEN MAIL_CURSOR
FETCH MAIL_CURSOR into @mail1, @sender,@content1
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @email = @email+';'+Email
FROM GRVRIEVANCES
WHERE sentFlag = 'No'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'Grievances',
@recipients = @email,
@subject = 'Account Details',
@body = @content1;
FETCH MAIL_CURSOR INTO @mail1, @sender, @content1
END
CLOSE MAIL_CURSOR
DEALLOCATE MAIL_CURSOR
END