2011-07-18 34 views
6

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

+1

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

+4

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

+0

Unfortunmalety đó là SQL Server 2000! – largo68

Trả lời

1

Nói chung, trong Sql Server Update Tuyên bố được viết như

Update <Table Name> Set <Column Name> = <Value> where <Search Condition>. 
+0

thanks nhưng Where = không hợp lệ! – largo68

+0

Sau đó, bạn cần giải thích cách bạn biết hàng nào là "số hàng" 1, hàng nào là "số hàng" 2, v.v. –

4

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 
+0

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

+0

@ largo68: đã xóa nó – gbn

+0

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. –

Các vấn đề liên quan