Memadamkan Baris Teratas daripada Jadual Pelayan SQL
Dalam SQL Server, memadamkan baris teratas daripada jadual boleh dilakukan melalui pernyataan DELETE . Walau bagaimanapun, adalah penting untuk memastikan pernyataan itu dibina dengan betul untuk mengelakkan pemadaman tidak sengaja semua baris jadual.
Seperti yang digambarkan dalam kod yang disediakan, cuba memadam 1000 baris teratas menggunakan pernyataan berikut:
delete from [mytab] select top 1000 a1,a2,a3 from [mytab]
biasanya akan mengakibatkan pemadaman semua baris jadual dan bukannya 1000 teratas yang dimaksudkan barisan. Ini kerana pernyataan itu mengandungi dua operasi: PADAM dan PILIH.
Untuk memadamkan baris atas sahaja dengan betul, adalah penting untuk menentukan kriteria susunan dalam klausa TOP. Tanpanya, SQL Server akan memadamkan baris secara rawak, yang berpotensi menjejaskan keseluruhan jadual.
Satu kaedah yang cekap ialah menggunakan Common Table Expression (CTE) atau ungkapan jadual yang serupa. Berikut ialah contoh yang diubah suai:
;WITH CTE AS ( SELECT TOP 1000 * FROM [mytab] ORDER BY a1 ) DELETE FROM CTE
Dalam kes ini, CTE mengembalikan 1000 baris teratas daripada jadual [mytab], disusun mengikut lajur 'a1' yang ditentukan. Pernyataan DELETE kemudiannya menyasarkan ungkapan jadual CTE, memastikan bahawa hanya baris yang dimaksudkan dialih keluar. Pendekatan ini meminimumkan pemprosesan yang tidak perlu dan perlindungan terhadap pemadaman baris tambahan secara tidak sengaja.
Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Teratas dengan Selamat daripada Jadual Pelayan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!