增加SQL Server中的整数

Ana*_*tts 17 sql

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

UPDATE TheTable
SET RevisionId=(SELECT RevisionId
                FROM TheTable
                WHERE Id=@id) + 1
WHERE Id=@id;
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ers 42

你不需要内部选择:

UPDATE TheTable SET RevisionId = RevisionId + 1 WHERE Id=@id
Run Code Online (Sandbox Code Playgroud)


wal*_*lyk 12

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

UPDATE TheTable
 SET RevisionId = RevisionId + 1
 WHERE Id=@id;
Run Code Online (Sandbox Code Playgroud)

  • @Donnie:你在说什么?UPDATE ... SET field = field + 1总是原子的. (9认同)