T-SQL-如果为true,则运行sp_send_dbmail ELSE不执行任何操作?

时间:2020-03-12 16:00:48

标签: sql-server tsql if-statement rowcount sp-send-dbmail

根据Google发出的帖子,我尝试了几种不同的方法。但是我就是无法正常工作。 我正在运行一条select语句,并且使用sp_send_dbmail将结果通过电子邮件发送给收件人。 这工作得很好。我要完成的是,如果select语句返回0行,则没有电子邮件发送出去。 我已经尝试了很多事情,例如:

    Select Statement    --The select statement is at the top of the code
    IF @@rowcount = 0     -- followed by the IF statement
    begin
    return
    end
    ELSE
    begin
    exec msdb.dbo.sp_send_dbmail 
    end

在上面的示例中运行,我没有收到任何错误,但是无论是0还是非0,它都会发送电子邮件。

如何根据select语句返回的结果是否为零,将sp.send_dbmail封装到IF语句中?

谢谢!

1 个答案:

答案 0 :(得分:-1)

尝试

IF EXISTS([Select Statement])
BEGIN
exec sp.send_dbmail
END