Rationalisation des opérations de données en masse dans MS SQL en désactivant temporairement les contraintes
La désactivation des contraintes offre une approche rationalisée des opérations de données en masse, telles que le transfert de tables entre bases de données. En suspendant temporairement les contrôles de contraintes, vous évitez les complexités liées à la gestion des séquences d'exécution nécessaires au maintien des relations entre les données. Cet article explique comment désactiver et réactiver temporairement les contraintes dans Microsoft SQL Server (MS SQL).
Désactivation des contraintes pour une seule table
Pour désactiver les contraintes sur une table spécifique (par exemple, "tableName"), utilisez la ALTER TABLE
commande suivante :
<code class="language-sql">ALTER TABLE tableName NOCHECK CONSTRAINT ALL</code>
Pour restaurer l'application des contraintes :
<code class="language-sql">ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL</code>
Gestion des contraintes à l'échelle de la base de données
Pour une désactivation de contrainte à l'échelle de la base de données, utilisez la sp_msforeachtable
procédure stockée :
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'</code>
Réactivez toutes les contraintes avec :
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'</code>
Ces méthodes fournissent une gestion efficace des contraintes temporaires, simplifiant considérablement les tâches de manipulation de données à grande échelle dans MS SQL.
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!