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语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这 ...
随机推荐
- 计算机网络相关:应用层协议(一):DNS
DNS 1.概念 DNS是: 1) 一个有分层的DNS服务器实现的分布式数据库 2)一个使得主机能够查询分布式数据库的应用协议. 它运行在UDP之上,默认使用53号端口. 主要功能 是将主 ...
- iOS开发-程序的生命周期
为了更好的管理程序,了解程序的生命周期是很有必要的. 运行结果: 1.首次启动: 2015-05-26 17:33:28.362 Live[4858:214241] 程序开始 2015-05-26 1 ...
- XamarinForm Effects 调用事件
原文地址 在Xamarin.Forms控件中实现底层多点触控跟踪. 一个effect可以定义和调用一个事件,在底层本地视图中发出信号的变化.这篇文章演示如何实现底层多点触控跟踪,以及如何生成信号触摸活 ...
- LINUX PID 1和SYSTEMD 专题
Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个 ...
- javascript执行上的一点总结
今天在为软件工程的的作业准备的时候发现代码执行上的一些问题,暴露了我的一些缺陷,先上代码 <html> <head> <script type="text/ja ...
- 你不知道的JavaScript--Item24 ES6新特性概览
ES6新特性概览 本文基于lukehoban/es6features ,同时参考了大量博客资料,具体见文末引用. ES6(ECMAScript 6)是即将到来的新版本JavaScript语言的标准,代 ...
- 你不知道的JavaScript--Item11 arguments对象
1.什么是arguments arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的.所有主要的js函数库都利用了arguments对象.所以ag ...
- RabbitMQ (五)主题(Topic)
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37706355 上一篇博客中,我们进步改良了我们的日志系统.我们使用direct类 ...
- mock打桩之EasyMock
TDD是测试驱动开发(Test-Driven Development)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论.TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代 ...
- (三)Maven使用入门之Hello World
主要内容 编写POM 编写主代码 编写测试代码 打包和运行 到目前为止,已经大概了解并安装好了Maven,现在开始创建一个最简单的HelloWorld项目. 编写POM 就像Make的Makefile ...