我有一个以本机模式运行的 SSRS 2008 服务器。我试图弄清楚以下是否可行,如果可以,该怎么做。我想要一个计划订阅,仅在满足某些条件时生成报告。对我来说,表达条件的最自然方式是特定查询是否返回数据。这可能吗?
所以基本上我会定期检查数据库,如果有一些数据(比如在错误日志中)发送一封关于它的电子邮件。
经过更多研究后,我发现了这个链接: http: //blogs.msdn.com/b/bimusings/archive/2005/07/29/445080.aspx 在评论中人们提供了以下技巧:
IF NOT EXISTS ( SELECT * FROM ....)
RAISEERROR('no records found,'16,1
ELSE
SELECT * FROM ....
我可以使用它来生成要发送的电子邮件或引发错误。问题是我的报告包含在存储过程中,您不能将 IF NOT EXISTS 与存储过程一起使用。是否有人对如何检查存储过程是否返回行而不将其放入临时表或执行它并查看@@rowcout 有任何建议?最后一个对我不利,因为我无法将程序的输出与电子邮件一起返回。