[MSSQL]SQL查询结果转换成HTML并通过邮件预警
2017-09-01 08:49
302 查看
上一篇文章讲解到配置数据库邮件实现发送邮件功能。
邮件的内容为HTML格式。
案例:
-- ============================================= -- Author: <Author,David Gong> -- Create date: <Create Date,2017-08-20,> -- Description: <Description,新增采购单无ROHS报告预警,> -- ============================================= ALTER TRIGGER [dbo].[TR_NOROHS] ON [dbo].[PURTD] AFTER INSERT AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; DECLARE @tableHTML NVARCHAR(MAX) ; if exists( SELECT td = RTRIM(TC001), '', td = RTRIM(TC002), '', td = RTRIM(TD003), '', td = RTRIM(TC004), '', td = RTRIM(MA003), '', td = RTRIM(TD004), '', td = RTRIM(TD005), '', td = RTRIM(TD006), '', td = RTRIM(MV002), '' from inserted INNER JOIN PURTC on TD001=TC001 AND TD002=TC002 INNER JOIN PURMA ON TC004=MA001 INNER JOIN CMSMV ON TC011=MV001 LEFT JOIN ROSH ON RTRIM(TC004)=Supplier AND TD004=Item WHERE ROSH.Item IS NULL ) begin SET @tableHTML = N'<H1>无ROHS报告材料清单</H1>' + N'<table border="1">' + N'<tr><th>单别</th><th>单号</th><th>序号</th><th>供应商编码</th><th>供应商</th>' + N'<th>品号</th><th>品名</th><th>规格</th><th>采购人员</th></tr>'+ CAST ( ( SELECT td = RTRIM(TC001), '', td = RTRIM(TC002), '', td = RTRIM(TD003), '', td = RTRIM(TC004), '', td = RTRIM(MA003), '', td = RTRIM(TD004), '', td = RTRIM(TD005), '', td = RTRIM(TD006), '', td = RTRIM(MV002), '' from inserted INNER JOIN PURTC on TD001=TC001 AND TD002=TC002 INNER JOIN PURMA ON TC004=MA001 INNER JOIN CMSMV ON TC011=MV001 LEFT JOIN ROSH ON RTRIM(TC004)=Supplier AND TD004=Item WHERE ROSH.Item IS NULL FOR XML PATH('tr'), TYPE ) AS NVARCHAR(MAX) ) + N'</table>' ; --print @tableHTML EXEC msdb.dbo.sp_send_dbmail @profile_name = 'MailETL', @recipients='xx@zettlercn.com', @blind_copy_recipients = 'xx@zettlercn.com' , @subject = '新增采购单无ROHS报告预警信息', @body = @tableHTML, @body_format = 'HTML' ; end -- Insert statements for trigger here END
感谢小叶的帮助
相关文章推荐
- 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取
- 随意一条查询sql转换为查询结果集相应的数目
- SQL Server BI Step by Step SSIS 5 --- 通过Email发送查询结果
- mysql5.6.16下跟踪SQL查询转换的结果
- 关于MSSQL通过SQL语句导表和查询
- 将根据字符查询转换后输出结果,规则为:’A’转换为’男’,’B’转换为’女’,其他字符转换为’未知’,请用一个SQL语句写出。
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
- 通过sql语句查询出来的结果字段没有到对应实体类时的处理方法
- Hibernate查询之SQL查询,查询结果用new新对象的方式接受,hql查询,通过SQL查询的结果返回到一个实体中,查询不同表中内容,并将查到的不同表中的内容放到List中
- [MSSQL]SQL 查询结果的纵向变横向排列
- java中 sql查询结果集转换成javabean
- SQL查询为空时的结果转换
- [MSSQL]SQL 查询结果的纵向变横向排列
- Hibernate3.2.6 原生sql 查询使用方法,将查询结果直接转换为POJO,不必非要指定属性大写
- SQL Server BI Step by Step SSIS 5 --- 通过Email发送查询结果
- 通过命令将sql查询的结果导出到具体文件
- sql decode 函数用法 将查询结果翻译 转换
- 通过SQL查询多个表的结果且分页
- SQL邮件自动应答(根据收到的邮件中的查询语句回复语句执行结果)
- Java通过JDBC连接Oracle之后查询结果和在sqlplus查询结果不一样