• 技术文章 >数据库 >mysql教程

    SQL Server存储过程邮件以格式形式发送的方法(代码示例)

    不言不言2019-01-12 11:16:44转载3727
    本篇文章给大家带来的内容是关于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

    以上就是SQL Server存储过程邮件以格式形式发送的方法(代码示例)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除
    专题推荐:SQL Server
    上一篇:mysql8降级到mysql5的方法介绍 下一篇:SQLServer多表联查和多表分页查询的方法(代码示例)
    PHP编程就业班

    相关文章推荐

    • List all the Databases on a SQL Server_javascript技巧• use jscript Create a SQL Server database_javascript技巧• php使用pdo连接mssql server数据库实例_php技巧• PHP调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解_php技巧• SQL Server Backup_MySQL• SQL Server 利用锁提示优化Row_number()-程序员需知_MySQL• SQL Server统计信息维护策略的选择_MySQL• SQL Server触发器创建、删除、修改、查看_MySQL• php使用sql server验证连接数据库的方法_PHP

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网