msSql mail

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
michael
Сообщения: 116
Зарегистрирован: 15 июл 2004, 13:06
Откуда: ISRAEL (ранее - из Литвы)
Контактная информация:

Привет всем опять. Снова нужна помощь
У меня есть таблица Employee содержащяя мыло работников
как пройтись по всем строкам и отправить всем работникам сообщение "Hello".
P.S. Можно исходить из того что сервер настроен
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

Вариант первый: собираешь все емейлы в строку и в BCC запихиваешь.
Что-то вроде этого:

Код: Выделить всё

declare @emails, @myself varchar(2048)
select 
    @emails = @emails + e.email +";"
from
EMPLOYEE e
select @myself ='myself@somewhere.ru'
EXEC xp_sendmail 
        @recipients = @myself, 
        @blind_copy_recipients = @emails,
        @subject = 'Hello world',
        @message = 'Hello'
Вариант второй - почти тоже самое, но в курсоре. При этом каждому можно что-то уникальное отправить.
P.S: c @myself извращался потому как не помню, покатит ли сообщение без @recipients.
Даже самый дурацкий замысел можно воплотить мастерски
michael
Сообщения: 116
Зарегистрирован: 15 июл 2004, 13:06
Откуда: ISRAEL (ранее - из Литвы)
Контактная информация:

Спасибо. Я не спец по SQL поэтому хочу уточнить . это пошлёт мыло всем в таблице?
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

угу
Даже самый дурацкий замысел можно воплотить мастерски
Ответить