我有一份工作,每周一都会发送上周报告。我希望附件显示在上周的周#即。第36周,第37周等,或者只是具有发送报告的时间戳,或者打开文件以在用户打开报告时应用时间戳报告。 原因是我们发布了这些报告,并希望管理层知道报告是否是最新的(他们通常不是这样)这样我们可以破解鞭子:)
继承人我得到了什么,我也将展示我的要求
发送报告的代码------------------------------------------- --------------
EXEC msdb.dbo.sp_send_dbmail
@profile_name = 'profile',
@recipients = '10@ten.com',
@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编码到我在结果集的一列中插入最后几周日期的位置但是看到日期的次数非常难看,因为有行,为了节省空间我只显示了4行。任何想法或帮助?我也试图让收件人只需按下F5
,当他们打开文件时插入时间戳就这样....很容易让马出现水,但很难让它喝水:)
答案 0 :(得分:0)
要显示发送日期,我的想法是更改主题和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 = '10@ten.com',
@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 = ' ';