2016-04-08 2 views
-1

У меня есть таблица заказов, которая заполняется с новыми заказами частоSQL сервер электронной почты очереди

Заказы стол:

OrderID OrderName EmailAddress  Status 
----------------------------------------------------- 
1   iphone  [email protected] New 
2   samsung  [email protected]  New 
3   nexus  [email protected]   Approved 

Для каждой строки заказа, который имеет status = 'New', я хотел бы создать задание для запуска каждые 30 минут отправляет электронное письмо этим получателям.

+0

Почти аналогичный [вопрос] (http://stackoverflow.com/questions/36468687/how-to-perform-a-action-on-one-result-at-a-time-in-a-sql-query-return-that-shou/36469391 # 36469391) был спрошен вчера, вы может объединить это с запланированным заданием –

ответ

0

Как я понимаю, вам нужно запланировать задание, которое отправляет уведомление по электронной почте, если статус заказа «Новый».

Если так создать следующую хранимую процедуру

CREATE PROCEDURE NewOrders_Job 
AS 
BEGIN 
    DECLARE @OrderName varchar(200), @EmailAddress varchar(200) 
    SELECT 
     @OrderName = ' You have a sale for '+[OrderName]+', at +'CONVERT(VARCHAR(10),GETDATE(),)'+' 
     ,@EmailAddress = [EmailAddress] 
    FROM [Orders table] 
    WHERE 
     [Status] = 'New' 


    IF(ISNULL(@EmailAddress,'')<>'') 
    BEGIN 
     --mail 
     DECLARE 
     @profile_name VARCHAR(200) 
     ,@recipients VARCHAR(MAX) 
     ,@copy_recipients VARCHAR(MAX) 
     ,@blind_copy_recipients VARCHAR(MAX) 
     ,@body VARCHAR(MAX) 
     ,@body_format VARCHAR(MAX) 
     ,@subject VARCHAR(MAX) 


     EXEC msdb.dbo.sp_send_dbmail 
      @profile_name = 'Your_Profile_Name' 
      ,@recipients = @EmailAddress 
      ,@copy_recipients = '[email protected]' 
      ,@blind_copy_recipients = '[email protected]' 
      ,@body = @OrderName 
      ,@body_format = 'HTML' 
      ,@subject = 'You have a new sales Order'; 
    END 
END 

Теперь создайте новую работу, которая протекание в течение 30 минут с выше хранимой процедурой

+0

отлично спасибо – Abbaskhan

Смежные вопросы