我是新创建的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
。
然后,一旦发送,就需要使用[Email_Sent]
或1
来更新True
字段。
答案 0 :(得分:0)
这是一些伪代码
SELECT * FROM [YourTable]
While records
begin
Compose email;
send email;
end;