You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何格式化数据清理邮件报告以呈现规范表格样式

解决方案

要生成带分隔线的规范表格邮件,需要从存储过程结果集合并和邮件格式配置两方面调整:

1. 调整存储过程,返回单一结果集

原存储过程每个DELETE后单独执行SELECT,会返回多个独立结果集,导致邮件内容分散。改用临时表统一收集所有清理记录,最后返回合并后的结果:

CREATE PROCEDURE datapurge
AS
BEGIN
    SET NOCOUNT ON;

    -- 创建临时表存储清理结果
    CREATE TABLE #PurgeResults (
        Tablename NVARCHAR(128),
        Record_Count INT
    );

    -- 清理table1并记录删除数
    DELETE FROM dbo.table1 WHERE date = 'value';
    INSERT INTO #PurgeResults (Tablename, Record_Count)
    VALUES ('dbo.table1', @@ROWCOUNT);

    -- 清理table2并记录删除数
    DELETE FROM dbo.table2 WHERE date = 'value';
    INSERT INTO #PurgeResults (Tablename, Record_Count)
    VALUES ('dbo.table2', @@ROWCOUNT);

    -- 清理table3并记录删除数
    DELETE FROM dbo.table3 WHERE date = 'value';
    INSERT INTO #PurgeResults (Tablename, Record_Count)
    VALUES ('dbo.table3', @@ROWCOUNT);

    -- 返回统一格式的结果集(列名匹配需求)
    SELECT 
        Tablename AS 'Table name', 
        Record_Count AS 'Number of records deleted'
    FROM #PurgeResults;

    DROP TABLE #PurgeResults;
END

2. 修改sp_send_dbmail配置,生成HTML表格

原配置使用TEXT格式和逗号分隔,导致格式混乱。改为HTML格式并开启查询结果转HTML表格功能:

EXEC msdb.dbo.sp_send_dbmail
    @profile_name = 'SQL DBA',  
    @recipients = 'myemail.com',  
    @body = '<html><head><style>
        table {border-collapse: collapse; width: 80%; margin: 20px 0;}
        th, td {border: 1px solid #ddd; padding: 8px; text-align: left;}
        th {background-color: #f2f2f2;}
        </style></head><body>
        <p>Please see the report below for this month''s Data Purge</p>',
    @body_format = 'HTML',
    @query = 'EXECUTE datapurge',
    @execute_query_database = 'databasenamegoeshere',
    @subject = 'Data purge record count',
    @query_result_header = 1,
    @query_result_width = 256,
    @query_result_no_padding = 1,
    @query_result_as_html = 1; -- 核心参数:将查询结果转为HTML表格

关键调整说明:

  • @body_format = 'HTML':启用HTML邮件格式,支持表格样式
  • @query_result_as_html = 1:自动将查询结果转换为带结构的HTML表格
  • 移除@query_result_separator:HTML表格不需要逗号分隔符
  • 新增CSS样式:给表格添加边框、分隔线、表头背景色,让格式更规范

内容的提问来源于stack exchange,提问作者Michael Daniels

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 16:58:38