Désactiver temporairement les contraintes de manipulation des données dans MS SQL
Lorsque vous travaillez avec des bases de données SQL, l'application de contraintes est essentielle au maintien de l'intégrité des données. Cependant, dans certains cas, la désactivation temporaire des contraintes peut simplifier les tâches de manipulation des données.
Question :
Est-il possible de fermer et de rouvrir temporairement toutes les contraintes de base de données (par exemple les relations entre les tables) dans MS SQL ?
Réponse :
Oui, les contraintes peuvent être désactivées et réactivées dans MS SQL en utilisant :
Désactiver les contraintes sur des tables spécifiques :
Pour désactiver une contrainte sur une table spécifique nommée "tableName" :
<code class="language-sql">ALTER TABLE tableName NOCHECK CONSTRAINT ALL</code>
Réactiver les contraintes sur des tables spécifiques :
Pour réactiver une contrainte sur la même table :
<code class="language-sql">ALTER TABLE tableName WITH CHECK CHECK CONSTRAINT ALL</code>
Désactiver les contraintes sur toutes les tables :
Pour désactiver les contraintes sur toutes les tables de la base de données, exécutez la procédure stockée suivante :
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'</code>
Réactiver les contraintes sur toutes les tables :
Pour réactiver les contraintes sur toutes les tables de la base de données, exécutez la procédure stockée suivante :
<code class="language-sql">EXEC sp_msforeachtable 'ALTER TABLE ? 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!