0

データ駆動型の「スケジュール」が必要です。つまり、すべてのレポートには、外出する必要がある一意の時間 (毎分入力されるテーブルに格納されます) があります。

For example: (not all fields included)

To                 Parameter     Format    NextRunDate         ReportStatus
bob[at]email.com   SalesRegion1  Email     1/1/2012 9:00:00   'Unprocessed'
joe[at]email.com   SalesRegion2  Email     1/1/2012 9:05:00   'Unprocessed'
sara[at]email.com  SalesRegion1  Email     1/1/2012 8:55:00   'Processed'

現在の時刻が 2012 年 1 月 1 日 9:01:00 の場合、データ ドリブン サブスクリプションの "where ステートメント" は次のようになります...

where NextRunDate < GETDATE() -- in the past
   and ReportStatus = 'Unprocessed' -- <--here is my problem

このクエリは毎分実行されます。bob[at]email.com のレポートのみをプルする必要があります...

私の問題はここにあります:レポートが送信されたら、レポートステータスと「処理済み」を切り替えるロジックを追加する必要があります...そうしないと、毎回すべてのレポートが実行されます...

考え?これを機能させる他の方法はありますか?

SQL Server 2k8 Enterprise の実行

前もって感謝します!

4

1 に答える 1

0

レポートが同様のサイクル(コードの場合と同様に1分ごとまたは5分ごと)で実行される場合は、BETWEENとDATEADDを使用して、レポートを最後に実行したときまでの分数(何でも)を差し引くことができます。

{DATEADD(mi、-5、GETDATE())とGETDATE()の間のNextRunDateの場所}

それがお役に立てば幸いです。

于 2012-10-20T03:47:05.360 に答える