Để thực hiện một số thử nghiệm trên một trường bảng mới, tôi muốn giả mạo một số giá trị trên các bản ghi hiện có trong cơ sở dữ liệu thử nghiệm của tôi. Tôi muốn gán một giá trị cho mỗi bản ghi thứ 8 trong một bảng. Tôi có thể dễ dàng chọn từng bản ghi thứ 8 bằng cú pháp này:Oracle SQL cập nhật mỗi hàng thứ n
select *
from
(select rownum rn
, jeffs_field_to_update
from jeff)
where mod(rn, 8) = 0;
Tuy nhiên, tôi khá mới đối với SQL và dường như tôi không thể chuyển đổi điều này thành câu lệnh cập nhật. Tôi thấy rất nhiều câu trả lời ở đây về việc chọn các bản ghi thứ n, nhưng tôi đã có nó. Bất kỳ trợ giúp sẽ được đánh giá cao.
Có bảng của bạn có một khóa chính? Thứ tự nào điều chỉnh "mọi bản ghi thứ 8" hoặc không quan tâm đến hàng nào được cập nhật? – APC
Tôi đã kết thúc bằng cách sử dụng câu trả lời của Mikhail, nhưng để trả lời câu hỏi của bạn, tôi đã không thực sự quan tâm đã được cập nhật - Tôi chỉ muốn một tập hợp khá lớn, phân phối trên toàn bảng. – Travis