SQL Server计数器列,在添加新记录时递增

时间:2015-08-06 14:51:00

标签: sql tsql sql-server-2012 increment

我正在开发一个存储过程,需要跟踪每天运行的报告。如果报告已多次运行,我需要一个每次运行报告时递增的列。我不确定如何使它跟踪ReportID或ReportName而不明确命名每个报告以跟踪。使用SQL Server 2012,让我们调用表ProcessMaster。

Time  ReportID   ReportName  (Increment Column)
----  --------   ----------  ------------------
7:00    2145      Job1               1
7:30    2145      Job1               2
7:30    2146      Another            1
8:00    2145      Job1               3
8:30    2146      Another            2

1 个答案:

答案 0 :(得分:3)

通过动态生成排名,可以选择不使用该列:

SELECT *, 
  ROW_NUMBER() OVER (PARTITION BY ReportId ORDER BY Time) as IncrementColumn
FROM ProcessMaster

如果您希望存储该字段,您可以选择:

  • 写一个触发器
  • 应用层的增量
相关问题