首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sp_send_dbmail错误

sp_send_dbmail错误
EN

Stack Overflow用户
提问于 2012-10-11 22:34:35
回答 1查看 227关注 0票数 0

如何在sp_send_dbmail中的@query parameter中传递多个查询

例如:

代码语言:javascript
复制
select count(*) from TableA
IF count(*)/ @@rowcount = 0  
Exec sp_send_dbmail @profile_name = xx, @recipients = 'xx@abc.com',@subject = 'Test', @body= ' No rows';
IF count(*)/ @@rowcount > 0
Exec sp_send_dbmail @profile_name = xx, @recipients = 'xx@abc.com',@subject = 'Test', 
@body= ' xx rows';

我没有收到任何错误消息,但它在第一个select语句之后停止。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-11 23:16:17

当您执行select count(*) from TableA时,您不会将值保存在某个地方,它只执行并返回查询的结果。这就是if语句没有触发的原因。你可以这样做:

代码语言:javascript
复制
DECLARE @c AS int
SET @c = (select count(*) from TableA)

IF @c = 0
Exec sp_send_dbmail @profile_name = xx, @recipients = 'xx@abc.com',@subject = 'Test', @body= 'No rows';

IF @c > 0
Exec sp_send_dbmail @profile_name = xx, @recipients = 'xx@abc.com',@subject = 'Test', 
@body= ' xx rows';

尽管我对将这种逻辑放在SQL方面有所保留。但由于我不知道你是如何使用它的,它现在应该可以工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12842052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档