Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

SQL Server:CẬP NHẬT bảng bằng cách sử dụng ORDER BY

Không.

Không phải là cách được hỗ trợ 100% bằng tài liệu. Có một cách tiếp cận đôi khi được sử dụng để tính toán tổng số đang chạy được gọi là "cập nhật kỳ quặc" cho thấy rằng nó có thể cập nhật theo thứ tự của chỉ mục được phân nhóm nếu đáp ứng các điều kiện nhất định nhưng theo tôi biết thì điều này hoàn toàn dựa vào quan sát thực nghiệm hơn là bất kỳ đảm bảo nào.

Nhưng bạn đang sử dụng phiên bản SQL Server nào? Nếu SQL2005 +, bạn có thể thực hiện điều gì đó với row_number và một CTE (Bạn có thể cập nhật 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. Thống kê gia tăng SQL Server 2014

  2. Trả lại Tên máy chủ cục bộ trong SQL Server bằng @@ SERVERNAME

  3. Thứ tự loại dữ liệu trong SQL Server

  4. Ràng buộc Kiểm tra có thể liên quan đến một bảng khác không?

  5. Làm cách nào để kiểm tra xem một cột có tồn tại trong bảng SQL Server hay không?