您的位置:首页 > 数据库

[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




感谢小叶的帮助
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐