Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?
Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?
Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?
Re: Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?
Si vous souhaitez désactiver toutes les contraintes de la base de données, exécutez simplement ce code :
```
-- désactiver toutes les contraintes
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
```
Pour les réactiver, exécutez : (le print est bien sûr facultatif et liste simplement les tables)
```
-- activer toutes les contraintes
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
```
Je le trouve utile lors du transfert de données d'une base de données à une autre. C'est une bien meilleure approche que drop
```
-- désactiver toutes les contraintes
EXEC sp_MSforeachtable "ALTER TABLE ? NOCHECK CONSTRAINT all"
```
Pour les réactiver, exécutez : (le print est bien sûr facultatif et liste simplement les tables)
```
-- activer toutes les contraintes
exec sp_MSforeachtable @command1="print '?'", @command2="ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all"
```
Je le trouve utile lors du transfert de données d'une base de données à une autre. C'est une bien meilleure approche que drop