Bất kỳ ý tưởng nào về cách tôi có thể cập nhật cột nhưng chỉ cho ví dụ row number=1
đến row number=10
?Máy chủ SQL cách cập nhật cột cho số hàng mong muốn
Trả lời
này sử dụng một bảng có nguồn gốc để cô lập các 10 dòng bạn muốn cập nhật. Lưu ý, họ cả có một ORDER BY trong họ để xác định 10 dòng
UPDATE
T
SET
SomeColumn = @newValue --or constant etc
FROM
(
SELECT
*,
ROW_NUMBER() OVER (ORDER BY something) AS rn
FROM
SomeTable
WHERE
...
) T
WHERE
rn <= 10
khi thử ví dụ thứ hai, tôi nhận được thông báo lỗi này: Msg 4428, Cấp 16, Tiểu bang 1, Dòng 1 Bảng dẫn xuất 't' không thể cập nhật được vì định nghĩa chứa mệnh đề TOP. – largo68
@ largo68: đã xóa nó – gbn
ROW_NUMBER(), OVER không hợp lệ cho SQL Server 2000. Trừ khi câu hỏi được gắn thẻ không chính xác. –
Bạn có thể cho biết thêm chi tiết, lược đồ bảng và có thể là vấn đề cố gắng của bạn để đạt được. – RubbleFord
hàng 1 đến 10 phải có thể nhận dạng được. Không có lệnh ngụ ý hoặc giả định trừ khi có một ORDER BY ở đâu đó – gbn
Unfortunmalety đó là SQL Server 2000! – largo68