Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadamkan 1000 Baris Teratas dengan Cekap daripada Jadual SQL Server 2008?

Bagaimana untuk Memadamkan 1000 Baris Teratas dengan Cekap daripada Jadual SQL Server 2008?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-25 16:45:14338semak imbas

How to Efficiently Delete the Top 1000 Rows from an SQL Server 2008 Table?

Memadamkan 1000 Baris Teratas daripada Jadual SQL Server 2008

Dalam SQL Server 2008, anda boleh membersihkan 1000 rekod teratas dengan cekap daripada jadual menggunakan gabungan ungkapan jadual biasa (CTE) dan kenyataan padam seterusnya. Begini cara ia berfungsi:

Pertanyaan Bermasalah Asal:

Kod yang anda cuba pada mulanya memadam semua baris dalam jadual kerana ia terdiri daripada dua pernyataan berasingan: pemadaman diikuti dengan a pilih. Pernyataan pilih tidak menyatakan kriteria susunan, yang membawa kepada pemadaman semua baris.

Kod Dibetulkan Menggunakan CTE:

Untuk menangani perkara ini, kami menggunakan CTE bernama 'CTE' untuk memilih 1000 baris teratas dalam tertib menaik berdasarkan lajur 'a1'. Pernyataan pemadaman berikutnya kemudian menyasarkan CTE, memastikan bahawa hanya rekod khusus tersebut dialih keluar:

;WITH CTE AS
(
  SELECT TOP 1000 *
  FROM [mytab]
  ORDER BY a1
)
DELETE FROM CTE

Dengan menggunakan kaedah ini, anda boleh memadamkan bilangan baris yang diingini dengan cekap daripada jadual tanpa menjejaskan rekod yang tinggal.

Atas ialah kandungan terperinci Bagaimana untuk Memadamkan 1000 Baris Teratas dengan Cekap daripada Jadual SQL Server 2008?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn