sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:ACTUALIZAR una tabla usando ORDER BY

No.

No es una forma documentada 100% compatible. Hay un enfoque que a veces se usa para calcular los totales acumulados llamado "actualización peculiar" que sugiere que podría actualizarse en orden de índice agrupado si se cumplen ciertas condiciones, pero que yo sepa, esto se basa completamente en la observación empírica en lugar de cualquier garantía.

Pero, ¿en qué versión de SQL Server estás? Si SQL2005+, es posible que pueda hacer algo con row_number y un CTE (Puedes actualizar el CTE)

With cte As
(
SELECT id,Number,
ROW_NUMBER() OVER (ORDER BY id DESC) AS RN
FROM Test
)
UPDATE cte SET Number=RN