我希望有一个数据驱动的“时间表”,这意味着每个报表都有它唯一的时间(存储在一个表中,它每分钟都会被填充)。
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'如果当前时间是1/1/2012 9:01:00,我的数据驱动订阅"where语句“将类似于.
where NextRunDate < GETDATE() -- in the past
and ReportStatus = 'Unprocessed' -- <--here is my problem此查询每分钟运行一次。它只应该把bobatemail.com的报告.
我的问题是:我需要添加逻辑以切换报表状态,并在报表发送后进行“处理”.否则它每次都会运行所有报告..。
有什么想法?还有其他办法让这件事起作用吗?
运行Server 2k8企业
提前感谢!
发布于 2012-10-20 03:47:05
如果报告以类似的周期运行(每分钟一次或每五分钟运行一次,如代码中所示),则可以使用“中间”和“DATEADD”减去分钟数(无论如何),直到最后一次报告运行到现在为止。
{ DATEADD(mi,-5,GETDATE())和GETDATE()之间的NextRunDate }
我希望这能帮上忙。
https://stackoverflow.com/questions/12534270
复制相似问题