Lệnh DELETE TOP trong SQL Server

Lệnh DELETE TOP trong SQL Server được dùng để xóa bản ghi từ 1 bảng trong SQL và giới hạn số bản ghi dựa trên 1 giá trị hay phần trăm có sẵn.

Cú pháp lệnh DELETE TOP

DELETE TOP (giatri_dau) [PERCENT] FROM bang [WHERE dieu_kien];

Tên biến hoặc giá trị biến

bang

Bảng muốn xóa bản ghi từ đó.

WHERE dieu_kien

Tùy chọn. Điều kiện mà bản ghi phải đáp ứng để được xóa.

TOP (giatri_dau)

Lệnh này sẽ xóa các hàng đầu tiên trong bộ kết quả trả về dựa trên giatri_dau. Ví dụ như TOP(10) sẽ xóa 10 hàng đầu đáp ứng tiêu chí.

PERCENT

Tùy chọn. Nếu được nêu ra cụ thể thì các hàng đầu tiên dựa trên số phần trăm giatri_dau của bộ kết quả. Ví dụ như TOP(10) PERCENT sẽ chèn 10% giá trị đầu trong bộ kết quả.

Lưu ý

Không cần liệt kê tất cả các trường trong lệnh DELETE vì sẽ xóa tất cả các hàng trong bảng.

Ví dụ – dùng từ khóa TOP

DELETE TOP(10) FROM nhanvien WHERE ho = Anderson’;

Ở ví dụ này,lệnh DELETE TOP sẽ xóa 10 bản ghi đầu tiên thuộc bảng nhanvien với họ nhân viên là Anderson. Nếu có các bản ghi khác cũng có họ nhân viên là Anderson thì chúng sẽ không bị xóa.

Ví dụ – dùng từ khóa TOP PERCENT

DELETE TOP(25) PERCENT  FROM nhanvien WHERE ten = Sarah’;

Ở ví dụ này, 25% bản ghi đáp ứng tiêu chú xóa của DELETE TOP sẽ được xóa. 75% còn lại sẽ không bị xóa.