SQL 服务器 2008:sp_send_dbmail
SQL Server 2008 : sp_send_dbmail
我有以下 SQL 每天在日常工作中运行。我希望电子邮件中的结果在查询结果的每一行末尾都有一个换行符。
目前,电子邮件将所有内容放在同一行,而不是 SQL 查询中每行一行
E.G 如果查询 returns 10 行,它应该把它放在电子邮件中的 10 行而不是连续的一行
IF (select count(*)
from HSOfficeDocuments h
where h.Expiry_Date <= dateadd(year, 1, getdate())) > 0
begin
exec msdb.dbo.sp_send_dbmail
@profile_name = 'OfficeNotificationsProfile',
@recipients = 'test@test.com',
@subject = 'Expiring Office Documents',
@query = 'select o.office, hs.document_type, h.Expiry_Date
from officesystem.dbo.HSOfficeDocuments h
join officesystem.dbo.HS_Document_Type hs on hs.id = h.Document_Type_id
join officesystem.dbo.Offices o on o.id = h.office_id
where h.Expiry_Date <= dateadd(year, 1, getdate())',
@query_result_header = 0,
@body_format = 'HTML'
end
你能试试下面的查询吗?由于邮件正文内容支持 HTML 我们可以使用 HTML 代码来格式化结果。
IF (select COUNT(*) from HSOfficeDocuments h
where h.Expiry_Date <= DATEADD(year, 1, GETDATE())) > 0
begin
exec msdb.dbo.sp_send_dbmail
@profile_name = 'OfficeNotificationsProfile',
@recipients = 'test@test.com',
@subject = 'Expiring Office Documents',
@query = 'select o.office, hs.document_type, h.Expiry_Date,''<br>'' from
officesystem.dbo.HSOfficeDocuments h
join officesystem.dbo.HS_Document_Type hs on hs.id = h.Document_Type_id
join officesystem.dbo.Offices o on o.id = h.office_id
where h.Expiry_Date <= DATEADD(year, 1, GETDATE())',
@query_result_header=0,
@body_format = 'HTML'
end
我有以下 SQL 每天在日常工作中运行。我希望电子邮件中的结果在查询结果的每一行末尾都有一个换行符。
目前,电子邮件将所有内容放在同一行,而不是 SQL 查询中每行一行
E.G 如果查询 returns 10 行,它应该把它放在电子邮件中的 10 行而不是连续的一行
IF (select count(*)
from HSOfficeDocuments h
where h.Expiry_Date <= dateadd(year, 1, getdate())) > 0
begin
exec msdb.dbo.sp_send_dbmail
@profile_name = 'OfficeNotificationsProfile',
@recipients = 'test@test.com',
@subject = 'Expiring Office Documents',
@query = 'select o.office, hs.document_type, h.Expiry_Date
from officesystem.dbo.HSOfficeDocuments h
join officesystem.dbo.HS_Document_Type hs on hs.id = h.Document_Type_id
join officesystem.dbo.Offices o on o.id = h.office_id
where h.Expiry_Date <= dateadd(year, 1, getdate())',
@query_result_header = 0,
@body_format = 'HTML'
end
你能试试下面的查询吗?由于邮件正文内容支持 HTML 我们可以使用 HTML 代码来格式化结果。
IF (select COUNT(*) from HSOfficeDocuments h
where h.Expiry_Date <= DATEADD(year, 1, GETDATE())) > 0
begin
exec msdb.dbo.sp_send_dbmail
@profile_name = 'OfficeNotificationsProfile',
@recipients = 'test@test.com',
@subject = 'Expiring Office Documents',
@query = 'select o.office, hs.document_type, h.Expiry_Date,''<br>'' from
officesystem.dbo.HSOfficeDocuments h
join officesystem.dbo.HS_Document_Type hs on hs.id = h.Document_Type_id
join officesystem.dbo.Offices o on o.id = h.office_id
where h.Expiry_Date <= DATEADD(year, 1, GETDATE())',
@query_result_header=0,
@body_format = 'HTML'
end