Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server:AKTUALIZUJ tabelę za pomocą ORDER BY

Nie.

Nie jest to udokumentowany w 100% obsługiwany sposób. Czasami do obliczania sum bieżących stosuje się podejście zwane „dziwaczną aktualizacją”, które sugeruje, że może być aktualizowane w kolejności indeksu klastrowego, jeśli zostaną spełnione określone warunki, ale o ile wiem, opiera się to całkowicie na obserwacji empirycznej, a nie na jakiejkolwiek gwarancji.

Ale z jakiej wersji SQL Server korzystasz? Jeśli SQL2005+ możesz coś zrobić za pomocą row_number i CTE (możesz zaktualizować CTE)

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przyznaj uprawnienia na poziomie tabeli w SQL Server

  2. Która składnia łączenia jest lepsza?

  3. Czy można ustawić limit czasu dla zapytania SQL w Microsoft SQL Server?

  4. Wdrażanie certyfikatu dla szyfrowanego połączenia SQL Server

  5. Jak zamienić wszystkie wystąpienia ciągu na inny ciąg w SQL Server – REPLACE()