Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadamkan Baris N Teratas dengan Selamat daripada Jadual Pelayan SQL Tanpa Memadam Semuanya?

Bagaimana untuk Memadamkan Baris N Teratas dengan Selamat daripada Jadual Pelayan SQL Tanpa Memadam Semuanya?

Barbara Streisand
Lepaskan: 2024-12-17 01:32:25
asal
592 orang telah melayarinya

How to Safely Delete the Top N Rows from a SQL Server Table Without Deleting Everything?

Memadamkan 1000 Baris Teratas daripada Jadual dalam SQL Server 2008: Perangkap Biasa

Apabila cuba memadam 1000 baris teratas daripada jadual, pembangun sering menghadapi perkara yang tidak dijangka tingkah laku. Kod mereka, seperti kod yang disediakan dalam pernyataan masalah, akhirnya memadamkan keseluruhan jadual dan bukannya sasaran yang dimaksudkan.

Isunya terletak pada fakta bahawa kod sampel menggabungkan pernyataan DELETE dengan pernyataan SELECT. Pernyataan DELETE melaksanakan 1000 baris teratas, dengan berkesan memadamkan semua dalam jadual. Untuk membetulkan ini, kita perlu menentukan kriteria susunan khusus untuk fungsi TOP.

Pendekatan yang lebih cekap untuk memadamkan 1000 baris teratas adalah dengan menggunakan Ungkapan Jadual Biasa (CTE) atau ungkapan jadual yang serupa. Ini membolehkan kami menentukan kriteria pesanan dalam CTE, seperti yang dilihat dalam kod jawapan yang disediakan:

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

Dengan menggunakan teknik ini, kami memastikan bahawa hanya 1000 baris teratas, disusun mengikut lajur 'a1' dalam kes ini, disasarkan untuk dipadamkan. Pendekatan ini menjamin hasil yang diingini tanpa risiko memadamkan keseluruhan jadual secara tidak sengaja.

Atas ialah kandungan terperinci Bagaimana untuk Memadamkan Baris N Teratas dengan Selamat daripada Jadual Pelayan SQL Tanpa Memadam Semuanya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan