T- SQL - ЕСЛИ истина, тогда запустить sp_send_dbmail, иначе ничего не делать? - PullRequest
0 голосов
/ 12 марта 2020

Я пробовал несколько разных подходов, основанных на сообщениях, которые выкладывает Google. Но я просто не могу заставить его работать. Я запускаю оператор выбора, и результаты отправляются получателю по электронной почте с помощью sp_send_dbmail. Это прекрасно работает. Что я хочу сделать sh, так это чтобы электронное письмо не отправлялось, если оператор 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 отправляет сообщение по электронной почте.

как мне инкапсулировать sp.send_dbmail в оператор IF на основе того, что оператор select возвращается с нулевым результатом?

Спасибо!

1 Ответ

0 голосов
/ 12 марта 2020

Попробуйте

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