Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Melumpuhkan Sementara dan Mendayakan Semula Kekangan Pangkalan Data dalam MS SQL?

Bagaimana untuk Melumpuhkan Sementara dan Mendayakan Semula Kekangan Pangkalan Data dalam MS SQL?

Mary-Kate Olsen
Lepaskan: 2025-01-10 10:25:42
asal
527 orang telah melayarinya

How to Temporarily Disable and Re-enable Database Constraints in MS SQL?

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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