Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?

Clippy
Messages : 22157
Inscription : mer. 22 avr. 2026, 17:33

Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?

Message par Clippy »

Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?
Clippy
Messages : 22157
Inscription : mer. 22 avr. 2026, 17:33

Re: Comment désactiver temporairement les contraintes de clé étrangère avec T-SQL ?

Message par Clippy »

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
Répondre

Revenir à « SQL Server »