【发布时间】:2019-03-16 13:18:13
【问题描述】:
一开始我标记 - 我不是编写代码的专家。我需要你的帮助。我想通过 sp_send_dbmail 实现一个电子邮件通知系统。
代码:
USE msdb
go
SET QUOTED_IDENTIFIER OFF
SET ANSI_NULLS ON
EXEC sp_send_dbmail @profile_name='PROFILENAME',
@recipients='myemail@email.com',
@query_result_header=0,
@attach_query_result_as_file=0,
@query="select Kod,Nazwa from DATABASE.dbo.Towar where Kod NOT LIKE '%?%' and (AsId=205 or AsId=304 or AsId=289 or AsId=321 or AsId=306 or AsId=217 or AsId=261) and Aktywny=1 ORDER BY Kod",
@body_format="text",
@subject='SUBCJECT'
GO
SQL 查询有效并发送电子邮件,但也发送空行。例如。如何摆脱它们?
1916 SER TWAROGOWY WIEJSKI LUZ
我还希望 sp_send_dbmail 仅在查询返回数据时发送电子邮件。如果没有数据 - 不发送消息。
【问题讨论】:
-
什么是“空行”?您的示例不显示空行。如果您希望发送是有条件的,那么您需要在通话前提供
if。 -
附带说明,我建议您使用
SET QUOTED_IDENTIFIER ON并将文字括在ANSI/ISO 标准单引号中,在字符串中使用双引号。 -
这是电子邮件。数据之间有空行。我更喜欢让信息看起来更清晰。链接:drive.google.com/file/d/1MZvgEiF_t4H-7vbHGrYAczPEfiayTAiG/…
标签: sql sql-server-2008 sp-send-dbmail