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

Câu lệnh UPDATE:đánh giá lại truy vấn con sau mỗi SET

Hãy thử sử dụng câu lệnh sau. Bảng của bạn không cho phép xác định một hàng, ví dụ:với ID =2, vì vậy để liên kết bảng với ROW_NUMBER, bạn có thể sử dụng ROWID

UPDATE
Test 
SET id = (SELECT RN FROM
                     (SELECT ROW_NUMBER() 
                             OVER (ORDER BY ID) as RN 
                             FROM Test
                     ) T1
                     WHERE T1.RowID=Test.RowID
          )

Bản trình diễn SQLFiddle




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thêm một cột không rỗng và một ràng buộc kiểm tra trong một dòng trong Oracle 11g?

  2. SQL động - Kiểm tra cú pháp và ngữ nghĩa

  3. Làm thế nào để thêm giây cuối cùng vào ngày?

  4. TẠO và DROP TABLESPACE Oracle

  5. Cài đặt NLS_LANG cho trình điều khiển mỏng JDBC?