搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
AllinToyou
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
github出现Your account has been flagged.导致账号无法公开的解决办法
2
MySQL_mysqlset语句
3
Node.js版本管理工具-NVM
4
【研发日记】Matlab/Simulink软件优化(二)——通信负载柔性均衡算法_rtmseterrorstatus
5
Git 从入门到放不下
6
java mongodb 批量删除_java 实现mongoDB 增加,删除,修改,查看,多条件查询,聚合查询,分组查询(史上最全)...
7
VSCode 更换默认的 terminal(终端)_vscode terminal
8
【Kafka】Kafka的重复消费和消息丢失问题_kafka重复消费
9
ros2发布者节点_rclcpp::spin(node);的作用是
10
司法阅读理解方案总结_法律文本阅读理解算法
当前位置:
article
> 正文
MS SQL Server结果生成HTML表格并发送邮件_sqlserver自动邮件发送查询表格 转html 作为附件发送
作者:AllinToyou | 2024-06-16 21:47:48
赞
踩
sqlserver自动邮件发送查询表格 转html 作为附件发送
配置邮件服务器
在SQL管理器中找到“管理”,在“数据库邮件”上面右键,选择“配置数据库邮件”,如果没有开启,系统会提示开启。
进去之后配置好账户和配置文件
生成HTML表格
使用SQL的XML功能生成表格,需要格式的话可以使用Style来设置,示例:
[sql]
view plain
copy
DECLARE
@emailBody NVARCHAR(
MAX
);
SET
@emailBody = N
'<style>table{table-layout:fixed;width:1200px;border:1px solid #000000;border-collapse:collapse;font-size:12px;empty-cells:show;}'
+ N
'th,td{border:1px solid #000000;padding:3px;}</style>'
+ N
'<H2>'
+ @cHandler +
'在'
+
CONVERT
(
VARCHAR
(19), @dnverifytime, 120)
+
'审核的采购入库单《'
+ @cCode
+
'》发生超采购订单收货情况</H2>'
--标题
+ N
'<table>'
+ N
'<thead><tr>'
+ N
'<th style="width:80px;">采购订单</th>'
+ N
'<th style="width:90px;">存货编码</th>'
+ N
'<th style="width:350px;">存货名称</th>'
+ N
'<th style="width:150px;">规格</th>'
+ N
'<th style="width:80px;">订单数量</th>'
+ N
'<th style="width:80px;">已收数量</th>'
+ N
'<th style="width:80px;">超收数量</th>'
+ N
'<th style="width:60px;">单位</th>'
+ N
'<th style="width:80px;">超收率</th>'
+ N
'<th style="width:60px;">采购员</th>'
+ N
'</tr></thead><tbody>'
--表头
+
CAST
((
SELECT
poM.cPOID
AS
td ,
''
,
inv.cInvCode
AS
td ,
''
,
inv.cInvName
AS
td ,
''
,
ISNULL
(inv.cInvStd,
' '
) td ,
''
,
'<div style="text-align:right;">'
+
CAST
(
CAST
(po.iQuantity
AS
DECIMAL
(20,
4))
AS
VARCHAR
(20))
+
'</div>'
AS
td ,
''
,
'<div style="text-align:right;">'
+
CAST
(
CAST
(po.iReceivedQTY
AS
DECIMAL
(20,
4))
AS
VARCHAR
(20))
+
'</div>'
AS
td ,
''
,
'<div style="text-align:right;">'
+
CAST
(
CAST
(po.iReceivedQTY
- po.iQuantity
AS
DECIMAL
(20,
4))
AS
VARCHAR
(20))
+
'</div>'
AS
td ,
''
,
unit.cComUnitName
AS
td ,
''
,
'<div style="text-align:right;">'
+
CAST
(
CAST
(( po.iReceivedQTY
- po.iQuantity )
* 100 / po.iQuantity
AS
DECIMAL
(18,
2))
AS
VARCHAR
(20))
+
'%</div>'
AS
td ,
''
,
poM.cMaker td ,
''
FROM
Inserted i
INNER
JOIN
dbo.rdrecords01 d
ON
i.ID = d.ID
INNER
JOIN
PO_Podetails po
ON
d.iPOsID = po.ID
INNER
JOIN
dbo.PO_Pomain poM
ON
poM.POID = po.POID
INNER
JOIN
dbo.Inventory inv
ON
inv.cInvCode = d.cInvCode
INNER
JOIN
dbo.ComputationUnit unit
ON
unit.cComunitCode = inv.cComUnitCode
WHERE
po.iReceivedQTY > po.iQuantity
FOR
XML PATH(
'tr'
) ,
TYPE
)
AS
NVARCHAR(
MAX
))
+ N
'</tbody></table>'
;
因为生成XML时会对<>等标签进行编码,所以还需要进一步替换:
[sql]
view plain
copy
SELECT
@emailBody =
REPLACE
(
REPLACE
(@emailBody,
'<'
,
'<'
),
'>'
,
'>'
);
发邮件
一下步就是把生成的内容通过邮件发送出去了:
[sql]
view plain
copy
EXEC
msdb.dbo.sp_send_dbmail @profile_name =
'dgml'
,
@recipients = @recipientsList,
@subject =
'超采购订单收货提醒!'
,
@body = @emailBody, @body_format =
'html'
;
上面的收件人可以直接拼出来,也可以从数据库里面取出来,下面是取数据库内容,每个收件人的格式:人名<邮件地址>,多个收件人之间用;隔开
[sql]
view plain
copy
DECLARE
@recipientsList NVARCHAR(
MAX
);
--收件人
SELECT
@recipientsList =
REPLACE
(
REPLACE
(STUFF((
SELECT
';'
+ u.cUser_Name
+
'<'
+ u.cUserEmail
+
'>'
FROM
dbo.WG_Subscription_Users su
INNER
JOIN
dbo.UserHrPersonContro up
ON
up.cPsn_Num = su.cPsn_Num
INNER
JOIN
UFSystem.dbo.UA_User u
ON
u.cUser_Id = up.cUser_Id
WHERE
su.subscriptionID = 1
AND
ISNULL
(u.cUserEmail,
''
) <>
''
FOR
XML
PATH(
''
)
), 1, 1,
''
),
'<'
,
'<'
),
'>'
,
'>'
);
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/AllinToyou/article/detail/728397
推荐阅读
article
sql
Server
2019
开发版(
Developer
)下载及
安装
_
sql
server
2019
...
sql
Server
2019
开发版(
Developer
)下载及
安装
_
sql
server
2019
developer
...
赞
踩
article
SQLserver
语句查询当前
数据库
版本
型号_
11.0
.
2100.60
版本
...
SQLserver
语句查询当前
数据库
版本
型号_
11.0
.
2100.60
版本
11.0
.
2100.60
版本
...
赞
踩
article
可以在
html
下运行的
vue
的
helloworld
_
vue
helloworld
html
...
<span style="font-size:14px;"><!DOCTYPE
html
><...
赞
踩
article
html
+
CSS
遇到
的
问题
(
1
)(持续更新)_
html
+
css
的
遇到
的
问题
?...
line-height等于box时为何垂直居中这是对单行文本才适用
的
,line-height
的
大小是文字本身
的
大小加上上...
赞
踩
article
大学生
web
网页
设计
期末
作业
实例代码 (全网最全,建议收藏)
HTML
+
CSS
+JS(
网页
源码)_网...
网页
设计
作业
前
端
加后
端
文章目录 ...
赞
踩
article
基于
java
web+
SpringBoot
的在线电子书在线小说阅读系统(
java
+
Layui
+Spri...
一、
项目
介绍环境配置:Jdk1.8 + Tomcat8.5 +
mysql
+ Eclispe(IntelliJ IDE...
赞
踩
article
JavaWeb
基础4——
HTML
,
JavaScript
&
CSS
_
java
script
常用
标签
...
HTML
,
JavaScript
&
CSS
、元素、
标签
、css 选择器、属性、
JavaScript
基础语法、JavaScri...
赞
踩
article
html
css
网页
制作成品——个人
网页
制作 web个人
网站
模板 简单静态
HTML
个人
网页
作品_ht...
html
网站
成品 ...
赞
踩
article
SSM
==>
超市
管理系统
(
mysql
)_
超市
管理系统
mysql
html
...
琪琪杂货铺(
超市
管理系统
),ssm项目,毕业设计spring+springmvc+mybatis+spring等技术id...
赞
踩
article
HTML
15-
后端
传
的
内容,前端
转换
成标签字段和点击之后对应
的
链接_
html
转换
后端
传过来
的
div
...
本节:
后端
传过来
的
内容,是一长串链接用下划线___分隔,前端要
转换
成对应
的
字段,点击之后可以到对应
的
链接地址。_
html
...
赞
踩
article
SQL
SERVER
SQL
性能
优化
_
sqlserver
数据库
的
优化
有哪些...
在子查询中,NOT IN子句将执行一个内部的排序和合并,无论在哪种情况下,NOT IN都是最低效的,因为它对子查询中的表...
赞
踩
article
HTML
5
期末大作业:
电影
介绍
网站
设计
——
电影
泰坦尼克号
带特效带音乐(4页)
HTML
+
CSS
+Ja...
常见网页
设计
作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈...
赞
踩
article
sqlserver
忘记
sa
密码
如何重置?_怎么
修改
服务器
上自带
的
sqlserver
工具,改下
sa
的
...
如果知道任何其他有sy
sa
dmin权限
的
用户
密码
,包括启用了混合身份验证
的
windows账号
密码
。那很简单,登录,直接修...
赞
踩
article
sqlserver
sa
密码
忘记 处理_
sqlserver
sa
密码
忘记...
安全性 ->登录名->右键单击该登录名JINDIE-DB-02\Administrator ->属性->状态->启用/禁...
赞
踩
article
SQLserver
2008r2
本地sa
密码
忘记
_数据库
2008r2
忘记
密码
...
问题:本地local 登录名sa
密码
忘记
解决步骤:1、管理员身份进入cmd,执行 net stop mssqlserve...
赞
踩
article
pip
升级 报错
Requirement
already
satisfied
:
pip
in d:\w...
pip
升级 报错
Requirement
already
satisfied
:
pip
in d:\web\
html
\li...
赞
踩
article
JS +
HTML
表格
动态
添加
一行
_
js
实现
表格
新增
一行
...
JS +
HTML
表格
动态
添加
一行
一、使用inner
HTML
对
表格
进行
添加
一行
[详细]
-->
赞
踩
article
WebGL2.0
从入门到精通-
1
、前端
项目
搭建(
html
+
typescript
+
vite
)...
webgl2
typescript
入门到精通系列_webgl2webgl2 一、新建...
赞
踩
article
sqlserver
send
email
--
以
附件
的
形式发送生成
的
报告_
sqlserver
發郵件
...
打开数据库Management
--
> SQL Server Logs
--
>Database Mail 右键,conf...
赞
踩
相关标签
sqlserver
数据库
服务器
性能优化
前端
html
css
java
maven
spring boot
javascript
ES6
课程设计
Web大学生网页成品