增加SQL Server中的整数

时间:2009-12-04 23:39:28

标签: sql

Noob在这里提问,每当我更改SQL Server 2008 R2表中的某个记录时,我想增加一个RevisionId记录;为此,我使用以下语法:

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

顺便说一下,我要把它放到一个触发器中,这样就会自动发生,但是当这段代码工作时,感觉很笨重 - 任何更干净的方法都可以做到这一点?

3 个答案:

答案 0 :(得分:39)

您不需要内部选择:

UPDATE TheTable SET RevisionId = RevisionId + 1 WHERE Id=@id

答案 1 :(得分:12)

这是用于递增字段的SQL惯用语:

UPDATE TheTable
 SET RevisionId = RevisionId + 1
 WHERE Id=@id;

答案 2 :(得分:1)

如果您只是在寻找“行版”值,您是否考虑过在表中添加TimeStamp列? SQL Server每次都会“自动”为您更新它。根本没有代码。如果这对你很重要,它们就不会按顺序编号。