Gestion temporaire des contraintes de base de données dans MS SQL Server
La désactivation temporaire des contraintes dans Microsoft SQL Server peut rationaliser les opérations de base de données, en particulier lors du transfert de données. Ce guide détaille les méthodes pour désactiver et réactiver temporairement les contraintes.
Désactivation des contraintes
Désactivation des contraintes de table individuelles (ALTER TABLE) :
Utilisez cette commande pour désactiver les contraintes sur une seule table :
<code class="language-sql">ALTER TABLE tableName NOCHECK CONSTRAINT ALL;</code>
Désactivation des contraintes à l'échelle de la base de données (sp_msforeachtable) :
Cette procédure stockée désactive les contraintes sur toutes les tables de la base de données :
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL';</code>
Réactivation des contraintes
Réactivation des contraintes de table individuelles (ALTER TABLE) :
Réactivez les contraintes sur une table spécifique avec cette commande :
<code class="language-sql">ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL;</code>
Réactivation des contraintes à l'échelle de la base de données (sp_msforeachtable) :
Réactivez les contraintes pour toutes les tables de la base de données à l'aide de cette procédure stockée :
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL';</code>
Application pratique
L'exemple suivant présente le processus de désactivation et de réactivation temporaires des contraintes lors d'une opération de copie de données :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!