2017-08-08 5 views
1

Iは、以下の構造を有する: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 日時
  • 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

1つの質問Simonは、あなたが実行したいT-SQLコマンドを書く必要がある瞬間にスケジュールジョブを作成するときに、必要なストアドプロシージャを指定できますか? @scsimon –

関連する問題