我需要从 SQL Server 向不断变化的名称列表发送电子邮件。幸运的是,用户将名称更新到 SQL Server 表中,因此它应该始终是最新的。
我已经研究过,并希望用来sp_SQLNotify
发送电子邮件。(这已经使用实际的名称列表进行设置和测试 - 尚未使用变量)。
无论如何,我需要用要发送到的电子邮件地址列表填充一个变量。
为了做到这一点,我需要相当于:
SELECT DISTINCT [Email_Username] + '@my_email_suffix.com; '
INTO @VARIABLE
FROM My_Table
EXEC sp_SQLNotify @Variable 'My Header' 'My wall of text'
这可能吗,我需要遵循的真正语法是什么?
请原谅我的无知,但我在一些语法上很挣扎。
谢谢,克雷格。
===== 已更新答案 =====
感谢亚伦。
我使用您的代码作为工作解决方案的基础。
对于将来尝试这样做的任何人,最终结果是:
-- Declare variable and populate with initial apostrophe
DECLARE @var VARCHAR(MAX) = '''';
-- Populate variable with all unique email user names
SELECT @var += x.email
FROM
(
SELECT DISTINCT [Email_Username] + '@my_email_suffix.com;' AS email
FROM dbo.[My_Table]
WHERE [Email_Username] <> ''
) AS x
-- Remove final semi-colon
SET @var = left(@var,len(@var)-1)
-- Add final apostrophe
SET @var = @var + ''''
-- Display result
SELECT @VAR;