variable to_number smallint rango convert array sql

to_number - Incrementando un Integer en SQL Server



sql server array variable (3)

Este es un lenguaje SQL para incrementar un campo:

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

Noob pregunta aquí, cada vez que cambio un determinado registro en una tabla de SQL Server 2008 R2, deseo incrementar un registro RevisionId; para hacerlo, estoy usando la siguiente sintaxis:

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

Por cierto, voy a poner esto en un activador para que esto suceda de manera automática, pero mientras este código funciona, se siente bastante torpe, ¿hay alguna forma más limpia de hacerlo?


No necesitas la selección interna:

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


Si solo está buscando un valor de "versión de fila", ¿ha considerado agregar una columna de TimeStamp a su tabla? SQL Server lo actualiza para usted "automáticamente" cada vez. Ningún código de su parte en absoluto. Simplemente no se numerarán secuencialmente, si eso es importante para usted.