2

我在 SQL Server 2008 数据库中有一个存储过程,它返回一组从各种不同表中提取的值,如下所示。我运行存储过程如下所示,没有任何参数。

EXEC [Data].[dbo].[sp_Usage]

每行显示产品使用数据,例如

  • 上次登录
  • 上个月使用的次数
  • 过去 3 个月
  • 过去 6 个月
  • 应用版本

对于每个独特的AccountId

我想每个月/周自动运行这个存储过程并将相应的结果存储在数据库中,而不删除上周/月的数据。

我计划随着时间的推移使用这些数据来做数据趋势。

我应该如何执行这个计划?

任何帮助或指导将不胜感激

干杯! 闪亮的

4

1 回答 1

3

所以你的存储过程大概有一个SELECT (list of columns) .....里面,对吧?

为什么不将其更改为:

INSERT INTO dbo.YourBigTable(ExecutionDateTime, ...other columns here.....)
   SELECT
       GETDATE(),   -- get current date/time
       (list of other columns)
   FROM .......

基本上只是让存储过程INSERT直接运行到您的目标表中。从我的角度来看,这似乎是最简单的方法。

否则,您需要将从存储过程返回的数据插入到临时表中,然后将该临时表的数据连同执行日期/时间插入到目标表中。

于 2013-04-15T16:14:46.057 回答