Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server 2008-在变量中选择不同的名称_Sql_Sql Server 2008_Email_Variables - Fatal编程技术网

SQL Server 2008-在变量中选择不同的名称

SQL Server 2008-在变量中选择不同的名称,sql,sql-server-2008,email,variables,Sql,Sql Server 2008,Email,Variables,我需要从SQL Server向不断变化的姓名列表发送电子邮件。 幸运的是,这些名称由用户更新到SQL Server表中,因此它应该始终是最新的 我已经研究过了,我希望使用sp_SQLNotify发送电子邮件。 这已经用实际的名称列表进行了设置和测试,但还没有使用变量 无论如何,我需要用要发送到的电子邮件地址列表填充一个变量 为此,我需要等效的: SELECT DISTINCT [Email_Username] + '@my_email_suffix.com; ' INTO @VARIABLE F

我需要从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;

sp_SQLNotify是否是一个内置过程/函数?是否可以通过循环表向表中的每个用户发送一封电子邮件?嗨,谢谢Nick。是的,如果这样效果更好的话,我可以给每个人发一封单独的电子邮件。sp_SQLNotify不是一个内置过程,而是一个系统sp,在MASTER中,我将它添加到该数据库中。循环的语法是什么?建议的副本有一个被接受的答案,这个答案比它需要的要复杂得多,IMHO。选择不同的部分真的让我发疯了。现在它起作用了。谢谢
DECLARE @var VARCHAR(MAX) = '';

SELECT @var += x.email
FROM 
(
  SELECT DISTINCT (Email_Username + '@my_email_suffix.com;') as email
  FROM dbo.My_Table
) AS x;

SELECT @var;