将时间戳插入到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 = ' '; 
+0

是的,这种方法最适合我需要的功能 – DRUIDRUID