代码之家  ›  专栏  ›  技术社区  ›  Ana Betts

在SQL Server中增加整数

sql
  •  16
  • Ana Betts  · 技术社区  · 15 年前

    这里没有问题,每次我更改SQL Server 2008 R2表中的某个记录时,我都希望增加一个revisionid记录;为此,我使用以下语法:

    UPDATE TheTable
    SET RevisionId=(SELECT RevisionId
                    FROM TheTable
                    WHERE Id=@id) + 1
    WHERE Id=@id;
    

    顺便问一句,我要把它放入一个触发器中,这样它就可以自动执行,但是当这个代码工作时,它感觉相当笨拙,有没有更干净的方法来执行这个操作?

    3 回复  |  直到 7 年前
        1
  •  38
  •   Mark Byers    15 年前

    您不需要内部选择:

    UPDATE TheTable SET RevisionId = RevisionId + 1 WHERE Id=@id
    
        2
  •  11
  •   wallyk    15 年前

    这是用于增加字段的SQL习语:

    UPDATE TheTable
     SET RevisionId = RevisionId + 1
     WHERE Id=@id;
    
        3
  •  1
  •   No Refunds No Returns    15 年前

    如果您只是在寻找“row version”值,是否考虑在表中添加时间戳列?SQL Server每次都“自动”为您更新它。你一点代码都没有。如果这对你很重要的话,它们不会按顺序编号。