Menguruskan Kekangan Pangkalan Data buat sementara waktu dalam MS SQL Server
Melumpuhkan kekangan buat sementara waktu dalam Microsoft SQL Server boleh menyelaraskan operasi pangkalan data, terutamanya apabila memindahkan data. Panduan ini memperincikan kaedah untuk melumpuhkan sementara dan mendayakan semula kekangan.
Melumpuhkan Kekangan
Melumpuhkan Kekangan Jadual Individu (ALTER JADUAL):
Gunakan arahan ini untuk melumpuhkan kekangan pada satu jadual:
<code class="language-sql">ALTER TABLE tableName NOCHECK CONSTRAINT ALL;</code>
Melumpuhkan Kekangan Seluruh Pangkalan Data (sp_msforeachtable):
Prosedur tersimpan ini melumpuhkan kekangan merentas semua jadual dalam pangkalan data:
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL';</code>
Kekangan Mendayakan Semula
Kekangan Jadual Individu Mendayakan Semula (ALTER JADUAL):
Dayakan semula kekangan pada jadual tertentu dengan arahan ini:
<code class="language-sql">ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL;</code>
Kekangan Luas Pangkalan Data Mendayakan Semula (sp_msforeachtable):
Dayakan semula kekangan untuk semua jadual dalam pangkalan data menggunakan prosedur tersimpan ini:
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL';</code>
Aplikasi Praktikal
Contoh berikut mempamerkan proses melumpuhkan sementara dan mendayakan semula kekangan semasa operasi penyalinan data:
<code class="language-sql">-- Disable constraints on TableA and TableB ALTER TABLE TableA NOCHECK CONSTRAINT ALL; ALTER TABLE TableB NOCHECK CONSTRAINT ALL; -- Copy data from TableA to TableB INSERT INTO TableB SELECT * FROM TableA; -- Re-enable constraints on TableA and TableB ALTER TABLE TableA WITH CHECK CHECK CONSTRAINT ALL; ALTER TABLE TableB WITH CHECK CHECK CONSTRAINT ALL;</code>
Atas ialah kandungan terperinci Bagaimana untuk Melumpuhkan Sementara dan Mendayakan Semula Kekangan Pangkalan Data dalam MS SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!