SQL Server中如何存储过程邮件以格式形式发送

发布时间:2020-07-08 11:33:07 作者:Leah
来源:亿速云 阅读:154

SQL Server中如何存储过程邮件以格式形式发送?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

本篇文章给大家带来的内容是关于SQL Server存储过程邮件以格式形式发送的方法(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

一、收到邮件显示:

SQL Server中如何存储过程邮件以格式形式发送

二、存储过程代码部分:

BEGIN
    SET NOCOUNT ON;
    --初始化
        Declare @MailTo         nvarchar(max)
        Declare @MailCc         nvarchar(max)
        Declare @MailBcc        nvarchar(max)
        Declare @MailSubject    nvarchar(255)
        Declare @MailBody       nvarchar(max)
        Declare @MailFormat     nvarchar(20)
        DECLARE @SignCount      nvarchar(50)
    --查询表格中异常资料笔数
    SELECT @SignCount=COUNT(1) FROM  表名称  WHERE  筛选条件 

        SET @MailSubject='異常共'+@SignCount+'筆'
        SET @MailFormat='HTML'
        SET @MailTo='xxx.zzz@qq.com'    --收件人邮件地址
        SET @MailCc='xxx.zzz@qq.com'   --抄送
        SET @MailBcc='xxx.zzz@qq.com'  --密送
        SET @MailBody=''    --发送内容

            SET @MailBody =

                    N'Dear 
Sir/Madam:<br>異常共'+@SignCount+'筆,請及時核對,謝謝!!!<br><H4>&nbsp;&nbsp;&nbsp;&nbsp;列表如下:</H4>'
 +
     --定义邮件表格尺寸大小
                    N'<table border="1" style="font-size:11px;text-align:center"  width="60%">' +     
    --定义列表对应列名称 
                    N'<tr style="font-size:11"><th>工號</th>' +    
                    N'<th>姓名</th>' +
                    N'<th>已用天數</th>' +
                    N'<th>實際已用天數</th>' +
                    N'<th>異常狀態</th>' +
    --表主体结果
                    CAST ( ( SELECT 
                                                        td = Empid, '',
                                                        td = EmpCName, '',
                                                        td = [ULColA29-AdjAnlUsePos-Sum], '',
                                                        td = VocaTotalHours, '',
                                                        td = [ULColA29-State], ''
                                FROM  表名称  Form   WHERE  筛选条件   FOR XML PATH('tr'), TYPE     --将查询出来结果以HTML语言 td/tr显示出来
                                ) AS NVARCHAR(MAX)
       ) +
                            N'</table><br>以上為系統發送,請勿回復!!!<br>xx部xx課' 

              declare @i int   
			  BEGIN
				    SET @i=0;

				    EXEC asdb.dbo.xx_xxx_xxxxx      --执行SQL邮件发送的一个功能地址,这个地址就要去问公司的负责人了
    --对应的邮件主体参数带入发送邮件
				    @profile_name='MIS_SMTP_Mail',     --系统设置的邮件发送名称    --公司邮件管理者DB设置
				    @recipients=@MailTo,
				    @copy_recipients=@MailCc,
				    @blind_copy_recipients=@MailBcc,
				    @subject=@MailSubject,
				    @body=@MailBody,
				    @body_format=@MailFormat

				    SET @i=1;
			  END
END

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. 监控SQL Server事务复制
  2. SQL Server发送HTML格式邮件(事务)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql server

上一篇:elasticsearch 多次聚合

下一篇:openssl RSA非对称加密、解密、签名、验签

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》