sp_send_dbmail @query插入线路分解到电子邮件



我使用sp_send_dbmail中的@query外围发送带有警告列表的电子邮件(警告由@query周围返回)。@Query外围被列为电子邮件中的文本。从@Query周边返回并在电子邮件中显示的所有记录都在它们之间有一个线路。IE。如果我有4个记录,我会因为线路断路而有8行。

我该如何扭转台面?我阅读了SP_SEND_DBMAIL的MSDN文章,但没有提及任何可能会更改会影响线路断裂的属性。

代码:

    BEGIN
    EXEC MSDB.DBO.sp_send_dbmail 
        @PROFILE_NAME = 'Alerts',
        @RECIPIENTS = @MAIL,
        @SUBJECT = @NEWSUBJECT,
        @BODY = @NEWBODY,
        @QUERY =
            'SET NOCOUNT ON
            DECLARE @HEXSTRING AS VARCHAR(100)
            SET @HEXSTRING = (SELECT HEXADECIMAL_STRING FROM mydb.dbo.statusupdates
                WHERE MACHINE_ID = ''1111'' AND DATEDIFF(MI, TIME_DATE_RECEIVED, GETDATE()) <= 60)
            SELECT [Warning_Description] FROM mydb.DBO.BINARYTOTABLE(mydb.DBO.HEXTOBINARY(@HEXSTRING)) AS ABB1
            JOIN mydb.DBO.WarningMessages  ON mydb.DBO.WarningMessages.[Bit_Offset] = ABB1.BITPLACE
            WHERE BITVALUE = 1 AND ALERT_LEVEL = ''WARNING''',
        @QUERY_RESULT_HEADER = 0,
        @ATTACH_QUERY_RESULT_AS_FILE = 0;
    END

旧帖子,但可能值得检查@query_result_width参数sp_send_dbmail

请参阅http://technet.microsoft.com/en-us/library/ms190307(v = sql.110).aspx

如果列中的数据宽度超过@query_result_width(默认为256)将添加一条新行。

Steve

我始终使用char(13) char(10)在TSQL中创建线断裂。您将必须替换为'。

我最终将所有内容都放入sp_send_dbmail的 @body参数中。从选择语句中的查询结果可以与常规文本连接到字符串中,您可以使用HTML格式化结果文本。

尝试一下,看看您得到的...

 @query = REPLACE(@query,CHR(13),'')

相关内容

  • 没有找到相关文章

最新更新