2017-08-08 53 views
1

我有以下結構:如何在SQL Server中創建警報?

  • cho_id INT
  • cho_nombre VARCHAR(200)
  • cho_documento VARCHAR(15)
  • cho_dirrecion VARCHAR(100)
  • cho_telefono VARCHAR(15)
  • cho_fec_vencimiento_lic datetime
  • cho_categoria in牛逼
  • est_id INT

我有日期時間類型的行,我想,每一次的日期臨近前的警報15天給我,並通過電子郵件發送給我。

我如何在SQL Server中設計這個?它是否必須使用存儲過程?觸發器?

+1

寫一個存儲過程,將其設置爲計劃作業。 –

+0

聽起來像一個簡單的查詢和sp_send_dbmail代理作業 – scsimon

回答

1

下面是一個可用於過程的快速外殼程序,然後您可以將其安排爲每天運行的作業。您可以根據需要更改IF的邏輯。

create procedure myProc 
as 

if (select datediff(day,max(cho_fec_vencimiento_lic),getdate()) from SomeTable) = 15 
begin 
exec msdb.dbo.sp_send_dbmail 
        @profile_name = null, 
        @recipients = '[email protected]', 
        @body = 'This is your email alert', 
        @body_format = 'TEXT', 
        @subject = 'Alert' 
end 
go 

sp_dend_dbmail reference

Schedule a job reference

+0

謝謝!這對我有效。 –

+0

不用擔心@JoseAngel – scsimon

+0

有一個問題Simon在創建計劃作業時需要編寫您想運行的T-SQL命令時可以指定我想要的存儲過程嗎? @scsimon –