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> 列表如下:</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 msdb.dbo.sp_send_dbmail --执行SQL邮件发送的一个功能地址
--对应的邮件主体参数带入发送邮件
@profile_name='MIS_SMTP_Mail', --sql郵件設置的配置名稱
@recipients=@MailTo, --收件地址
@copy_recipients=@MailCc, --抄送地址
@blind_copy_recipients=@MailBcc, --密送
@subject=@MailSubject, --郵件主題
@body=@MailBody, --mail正文內容
@body_format=@MailFormat --郵件內容格式
SET @i=1;
END
END
SQL Server存储过程邮件发送以表格方式发送的更多相关文章
- SQL Server数据库邮件发送异常案例
最近遇到两起关于SQL Server数据库邮件发送异常的案例,这些问题也有点意思,顺便记录一下.方便以后遇到类似问题的人参考,不要被这些问题弄得抓狂! 案例1:我们一台数据库服务器突然发送邮件都不 ...
- SQL Server存储过程中使用表值作为输入参数示例
这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样 ...
- sql server 存储过程使用游标记录
sql server 存储过程使用游标记录--方便下次参考使用 游标的组成: 声明游标 打卡游标 从一个游标中查找信息 关闭游标 释放游标 游标类型: 静态游标 动态游标 只进游标 键集驱动游标 静态 ...
- SQL Server存储过程输入参数使用表值
转载自:http://blog.csdn.net/smithliu328/article/details/9996149 在2008之前如果我们想要将表作为输入参数传递给SQL Server存储过程使 ...
- SQL Server中的三种Join方式
1.测试数据准备 参考:Sql Server中的表访问方式Table Scan, Index Scan, Index Seek 这篇博客中的实验数据准备.这两篇博客使用了相同的实验数据. 2.SQ ...
- 【原创】SQL Server Job邮件详细配置
1 简介 SQL Server 代理具有发送电子邮件的功能.您可以配置 SQL Server 代理邮件,使其在出现下列情况时向预定义的操作员发送电子邮件: 警报触发时.可以配置警报,以针对所发生的特定 ...
- SQL Server 存储过程具体解释
SQL Server 存储过程具体解释 存储过程的优缺点 ◆长处: 运行速度更快. 存储过程仅仅在创造时进行编译,而一般SQL语句每运行一次就编译一次,所以使用存储过程运行速度更快. 存储过程用于处理 ...
- SQL Server存储过程Return、output参数及使用技巧
SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...
- SQL Server 存储过程(转载)
SQL Server 存储过程 Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这 ...
随机推荐
- PAT1013: Battle Over Cities
1013. Battle Over Cities (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue It ...
- Exchanger兄弟线程间数据信息交换
一.简述 Exchanger可以在两个线程之间交换数据,只能是2个线程,他不支持更多的线程之间互换数据.当线程A调用Exchange对象的exchange()方法后,他会陷入阻塞状态,直到线程B也调用 ...
- 闪回工具flashback
Ⅰ.背景 早先操作数据误操作后,我们一般通过全量备份+binlog的方式来实现恢复(前滚) 有时只想撤销一个几分钟前的操作,采用这种方式就会显得很笨重 大家都知道Oracle有个叫做flashback ...
- SOA专题---Dropwizard与Spring Boot比较
在这篇文章中我们将讨论的Java轻量级框架Dropwizard和Spring Boot的相似性和差异. 首先,这是一个选择自由和速度需要,无论你在Dropwizard和Spring Boot选择哪个, ...
- serialPort操作结构体Hashtable的使用
- ajax异步调用遇到的问题
今天在使用ajax的时候遇到一个问题,也加深了我对ajax的理解,到segmentfault上提问了,现把讨论过程呈现,也可访问链接http://segmentfault.com/q/10100000 ...
- javascript项目实战---ajax实现无刷新分页
分页: limit 偏移量,长度; limit 0,7; 第一页 limit 7,7; 第二页 limit 14,7; 第三页 每页信息条数:7 信息总条数:select count(*) from ...
- jquery开关按钮效果
.circular1{ width: 50px; height: 30px; border-radius: 16px; background-color: #ccc; transition: .3s; ...
- 一支烟的时间导致他错失女神,Python查看撤回消息,力挽狂澜!
2011年1月21日 微信(WeChat) 是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序,由张小龙所带领的腾讯广州研发中心产品团队打造 .在互联网飞速发展的下.民 ...
- Github管理自己的代码-远程篇
一.名词解释 Git Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版 ...