将时间戳插入到SP_Send_DBMail中的.TXT文件附件[SQL]
问题描述:
我有一项工作,每周一发送上周的报告。我希望这个附件可以显示上周的Week#ie。第36周,第37周等,或者简单地具有发送报告的时间戳,或者打开文件以应用时间戳来报告用户何时打开它。 原因是我们已经发布了这些报告,并希望管理层知道报告是否是最新的(他们通常不会这样)我们可以通过这种方式破解鞭子:)将时间戳插入到SP_Send_DBMail中的.TXT文件附件[SQL]
继承人什么都得到了,我也会显示我是什么请求
要发送报告的代码----------------------------------------- ----------------
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'profile',
@recipients = '[email protected]',
@subject = 'Weekly',
@query = N'EXEC PTW.dbo.SP_Weekly',
@attach_query_result_as_file = 1,
@query_result_width = 150,
@query_result_header= 1,
@query_attachment_filename = 'Weekly.txt',
@importance = 'High',
@query_result_no_padding = 1,
@query_result_separator = ' ';
附件结果------------------------ ------------------------------
ID Codes TimeSUM Units UPH Goal%
-- ----- ------- ----- --- -----
3476 HS-HY 5:53 9520 1618 140%
2377 HS-HY 13:37 21638 1589 138%
2372090 HS-HY 4:20 6036 1393 121%
43864 HS-HY 13:46 15035 1092 95%
(4 rows affected)
我想看到的是低于
WEEK_35 or `CURRENT_TIMESTAMP` or Timestamp of when file is opened
ID Codes TimeSUM Units UPH Goal%
-- ----- ------- ----- --- -----
3476 HS-HY 5:53 9520 1618 140%
2377 HS-HY 13:37 21638 1589 138%
2372090 HS-HY 4:20 6036 1393 121%
43864 HS-HY 13:46 15035 1092 95%
(4 rows affected)
任何我宁愿最,显示周#但是任何会工作 我已经编码的SP的地方,我插入最后一个星期 - 2012年一个结果集的列,但是非常难看,看到日期的次数与行一样多,为了节省空间,我只显示了4行。任何想法或帮助?我也尝试让收件人只需按F5
,当他们打开文件插入时间戳的方式....它很容易显示马水,但非常难使它喝:)
答
要显示发送日期,我的想法是更改主题和query_attachment_filename以反映当前周,例如:
DECLARE @FileName VARCHAR(50)
SET @FileName = 'Weekly_' + CONVERT(VARCHAR(2), Datepart(Week, Getdate())) + '.txt'
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'profile',
@recipients = '[email protected]',
@subject = @FileName,
@query = N'EXEC PTW.dbo.SP_Weekly',
@attach_query_result_as_file = 1,
@query_result_width = 150,
@query_result_header= 1,
@query_attachment_filename = @FileName,
@importance = 'High',
@query_result_no_padding = 1,
@query_result_separator = ' ';
是的,这种方法最适合我需要的功能 – DRUIDRUID