2012-08-08 218 views
0

我是新建Sprocs並使用send_dbmail。但是當使用觸發器時,我能夠獲得send_dbmail發送電子郵件。不過,我已經在很多地方閱讀過那不是一個好習慣。因此,當我們想要發送電子郵件時,我有一個觸發器更新Email_Tracker_Log表。然後,我需要一個SQL作業,它將運行一個SProc來查詢該表併發送電子郵件。一旦電子郵件已發送,我希望該Sproc更新表以顯示它已發送。使用send_dbmail發送電子郵件表中的電子郵件

表設置

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 

我需要一些幫助我的存儲過程編寫循環,雖然此表,並呼籲Exec sp_send_dbmail爲表中的每一行。

然後一旦發送它,它需要更新[Email_Sent]字段1True

回答

0

下面是一些僞代碼

SELECT * FROM [YourTable] 
    While records 
    begin 
    Compose email; 
    send email; 
    end;