当前位置:  开发笔记 > 数据库 > 正文

为什么这个SQL脚本可以正常工作?

如何解决《为什么这个SQL脚本可以正常工作?》经验,为你挑选了1个好方法。

我正在从SQL Server 2005中的表中提取电子邮件地址记录,并希望构建一个用作@recipients列表的字符串sp_send_dbmail.该表有一个名为EmailAddress的字段,表中有10条记录.

我这样做:

DECLARE @email VARCHAR(MAX)
SELECT
    @email = ISNULL(@email + '; ', '') + EmailAddress
FROM
    accounts

现在@email有一个半分隔的10个电子邮件地址列表,来自accounts表.

我的问题是为什么/如何运作?为什么@email只有表中的最后一个电子邮件地址?



1> Joel Coehoor..:

因为对于每一行,您将当前值@email与下一个结果相连接EmailAddress.字符串连接就像调用函数一样,因为它必须按顺序计算每一行的结果.

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有