我希望有一个数据驱动的“时间表”,这意味着每个报告都有它的独特时间(存储在每分钟填充一次的表格中)。
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 statement”就像......
where NextRunDate < GETDATE() -- in the past
and ReportStatus = 'Unprocessed' -- <--here is my problem
此查询每分钟运行一次。它应该只为bob [at] email.com提取报告......
我的问题在这里: 我需要添加逻辑,在报告发送后切换报告状态和'已处理'...否则每次都会运行每个报告......
思考?其他方法可以让它发挥作用吗?
运行SQL Server 2k8 Enterprise
提前致谢!
答案 0 :(得分:0)
如果报告以类似的周期运行(每分钟或每隔五分钟运行一次),您可以使用BETWEEN和DATEADD减去上次运行报告时的分钟数(无论如何)到现在。
{在DATEADD之间的NextRunDate(mi,-5,GETDATE())和GETDATE()}
我希望有所帮助。