我想用存储过程实现发送邮件的功能,现在有个问题:发送邮件时收件人有可能是多个,怎么用分号区分呢,这是取收件人的语句:select @mailto=email from v_mailaccountlist where account=@whodo
------解决思路----------------------
DECLARE @mailto VARCHAR(8000)
DECLARE @whodo VARCHAR(50)
SET @mailto=''
SET @whodo='条件'
select @mailto=@mailto+';'+email from v_mailaccountlist where account=@whodo
SET @mailto=STUFF(@mailto,1,1,'')
你参考下
------解决思路----------------------
用IN或者CHARINDEX吧。
------解决思路----------------------
用的是SQL Server 邮件功能?
不是自己程序上的功能?
------解决思路----------------------
如果是相同内容,直接在收件人多加邮箱,
如果内容不同,再执行一次发送邮件就可以了
------解决思路----------------------
你怎么发送邮件~~
------解决思路----------------------
插入到邮件表里?
是到时统一发送吗?
你就类似这么处理吧
if(@flag=0)
begin
select @mailto=@mailto+';'+email from v_mailaccountlist where account=@whodo
set @mailto=stuff(@mailto,1,1,'')
set @content='邮件内容'
--把相关信息插入到邮件表
set @Mailto='地址'
set @content='邮件内容'
--把相关信息插入到邮件表
end
------解决思路----------------------
一个if条件里同时给参数附多个值
对于每一次使用那个参数,只有他之前最后一次的赋值有效
你的if(flag = 1)可以写为ELSE IF(flag = 1)
没明白你是要插入两次,还是要经过判断,最后只插入一次
------解决思路----------------------
那么,你就要执行两次INSERT INTO
第二次赋值,在第一次插入之后