Semasa melaksanakan operasi pukal pada jadual SQL Server, seseorang sering tertanya-tanya sama ada terdapat cara untuk melaksanakan operasi memadam pukal yang serupa dengan operasi secara meluas alat Salin Pukal (bcp) yang digunakan dan cekap untuk operasi sisipan. Soalan ini timbul kerana ketiadaan fungsi pemadaman pukal khusus dalam SQL Server.
Malangnya, jawapannya negatif. SQL Server tidak menyediakan mekanisme langsung seperti bcp untuk memadam data secara pukal. Jika anda ingin mengehadkan baris yang terjejas oleh operasi pemadaman menggunakan klausa WHERE, anda tidak boleh menggunakan perintah TRUNCATE, yang memadamkan semua baris dalam jadual tanpa sebarang penapisan.
Pendekatan Alternatif
Jika tiada utiliti padam pukal, terdapat beberapa pendekatan alternatif yang anda boleh ambil:
Pemadaman Berkelompok:
Jadual Tukar:
Contoh:
-- Batched Deletes SELECT 'Starting' --sets @@ROWCOUNT WHILE @@ROWCOUNT <> 0 DELETE TOP (1000) MyTable WHERE ... -- Table Swap SELECT col1, col2, ... INTO #Holdingtable FROM MyTable WHERE ..opposite condition.. TRUNCATE TABLE MyTable INSERT MyTable (col1, col2, ...) SELECT col1, col2, ... FROM #Holdingtable
Ingat, pendekatan alternatif ini mungkin tidak selalu menawarkan prestasi yang sama seperti ciri padam pukal khusus. Walau bagaimanapun, mereka menyediakan pilihan yang berdaya maju untuk operasi pemadaman berskala besar apabila menggunakan klausa WHERE diperlukan.
Atas ialah kandungan terperinci Adakah SQL Server 2008 Menawarkan Ciri Padam Pukal Serupa dengan bcp?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!