我是创建 Sprocs 并使用 send_dbmail
的新人。 但是我能够在使用触发器时send_dbmail
发送电子邮件。 然而,我在很多地方读到这不是一个好的做法。 因此,当我们想要发送电子邮件时,我有一个触发器更新Email_Tracker_Log
表。 然后,我需要有一个 SQL 作业,该作业将运行 SProc 来查询该表并发送电子邮件。 发送电子邮件后,我希望 Sproc 更新表以显示它已发送。
表设置
CREATE TABLE [dbo].[Email_Tracker_Log](
[Email_Log_ID] [int] IDENTITY(1,1) NOT NULL,
[Email_Log_Date] [datetime] NULL,
[Email_Sent] [bit] NULL,
[Email_Address] [varchar](50) NULL,
[SS_Username] [varchar](50) NULL,
[SS_First_Name] [varchar](50) NULL,
[SS_Last_Name] [varchar](50) NULL,
[SS_Employ_ID] [varchar](50) NULL
) ON [PRIMARY]
GO
我需要一些帮助来编写我的 sproc 来循环这个表并为表中的每一行调用 Exec sp_send_dbmail
。
然后,一旦发送,它需要使用1
或True
更新[Email_Sent]
字段。
这是一些伪代码
SELECT * FROM [YourTable]
While records
begin
Compose email;
send email;
end;