Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отправка результата запроса.  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Коллеги, использую функцию [msdb].dbo.sp_send_dbmail для отправки почты. Изпользую ее в теле хранимой процедуры и все бы ничего. мне нужно, чтоб в теле письма был @query='SELECT * FROM ... WHERE pole1=@i'

Основная сложность, что @i является переменной процедуры, а как ее передать в письмо я не понимаю. Подскажите плз.

ОШИБКА

Сообщение 22050, уровень 16, состояние 1, строка 0
Error formatting query, probably invalid parameters
Сообщение 14661, уровень 16, состояние 1, процедура sp_send_dbmail, строка 517
Ошибка выполнения запроса: Сообщение 137, уровень 15, состояние 2, сервер ..., строка 5
Необходимо объявить скалярную переменную "@i".
25 июн 14, 14:09    [16217425]     Ответить | Цитировать Сообщить модератору
 Re: Отправка результата запроса.  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
сформировать квери и передать его строкой
@query='SELECT * FROM ... WHERE pole1='+cast(@i as varchar(128))

?
25 июн 14, 14:33    [16217567]     Ответить | Цитировать Сообщить модератору
 Re: Отправка результата запроса.  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Winnipuh,

DECLARE @i int...
....



EXEC [msdb].dbo.sp_send_dbmail
@profile_name = 'бам',
@recipients = 'бам.ru',
@copy_recipients='бам.ru;',
@subject = 'бам',
@body='бам:',
@query = '???'
25 июн 14, 14:41    [16217624]     Ответить | Цитировать Сообщить модератору
 Re: Отправка результата запроса.  [new]
Mikle83
Member

Откуда: Санкт-Петербург
Сообщений: 630
MedBrat,

Set @query='SELECT * FROM ... WHERE pole1=' + Convert(varchar, @i)

?
25 июн 14, 15:27    [16218000]     Ответить | Цитировать Сообщить модератору
 Re: Отправка результата запроса.  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Mikle83
MedBrat,

Set @query='SELECT * FROM ... WHERE pole1=' + Convert(varchar, @i)

?


не хавает... решил иным методом. напихал в строчную переменную и присвоил ее @body.
@query не принимает запрос виде описанном выше.

@body='бам:',
@query = '???'
26 июн 14, 12:08    [16222323]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить