sp_send_dbmail错误

时间:2012-10-11 14:34:35

标签: sql tsql sql-server-2005

如何在@query parameter的{​​{1}}中传递多个查询?

例如:

sp_send_dbmail

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

1 个答案:

答案 0 :(得分:1)

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

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端放置这种逻辑有一些保留意见。但由于我不知道你是如何使用它的,所以它现在应该可以工作。