首页 > 代码库 > 技术填坑记

技术填坑记

人生就是不断的填坑,再填坑,下面的填坑记录说不定就能帮助你。

1)SQL server 自带发email功能

    测试发给我自己,一切看起来正常。发给小组成员,每个人都能收到了,看起来今天终于可以正常下班了。

    可是,测试环境(当然会将所有人的邮件都设定为我们测试小组的成员了)发给某种类型的人的时候,程序不工作了。当初使用的update语句是自己编写的,当然不存在邮箱格式错误的可能。

    真是百思不得琪姐啊,只好在小组里面找之前踩过坑的同事了解,询问是否碰到过同样的问题,还好的是我们IT人员都没有藏着掖着的,大家回想当初自己的做法,感觉也没什么解决之道,只好又跑回来摸索。

    过了十几分钟,有个同事过来说,好像之前遇到过,to和CC中email不能重复,我使用的是本组成员设定的,当然是大量重复,所以系统就根本不发。

   于是就使用去重的程式如下:

   

/****** Object:  UserDefinedFunction [dbo].[ProcessEmail]    Script Date: 09/23/2016 16:17:22 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER function [dbo].[ProcessEmail](  @EmailInput varchar(8000))returns varchar(8000)  as  begin      declare @value varchar(8000)    set @value=‘‘    select @value=@value+col+; from (        select distinct  col        from f_split(@EmailInput,;) where col!=‘‘) as a    return @valueend  ALTER  function   [dbo].[f_split](@c   varchar(8000),@split   varchar(10))  returns   @t   table(col   varchar(100))  as      begin           while(charindex(@split,@c)<>0)          begin            insert   @t(col)   values   (substring(@c,1,charindex(@split,@c)-1))            set   @c   =   stuff(@c,1,charindex(@split,@c)+len(@split)-1,‘‘)          end        insert   @t(col)   values   (@c)        return      end

修改之后,世界就清静了。

 

 

 

 

 

 

 

 

 

 

 

 

   

   

技术填坑记