Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Désactiver une clef étrangère (relations entre tables)

Les clefs étrangères sont les relations entre les tables. On les voit fréquemment de manière graphique dans les schémas de base de données. Elles servent à maintenir l'intégrité des données entre les tables et sont un précieux indice pour le moteur lors de l'exécution de requêtes. Le principe de la clef étrangère est de référencer une clef primaire ou une contrainte unique d'une autre table (ou de la même table). La clef peut être composée de plusieurs champs.

SQL Server vous permet de désactiver temporairement une contrainte, famille de laquelle fait partie la clef étrangère. La désactivation de cette dernière vous permettra d'alimenter vos tables sans vous soucier de l'ordre dans lequel se fait cette alimentation.

La désactivation se fait à l'aide de NOCHECK :

ALTER TABLE MaTable NOCHECK FK_MaTable

A partir de ce moment là la contrainte n'est plus vérifiée, pour la réactiver :

ALTER TABLE MaTable CHECK FK_MaTable

Attention au nom de la contrainte (FK_MaTable), cela peut être n'importe quel nom en général on nomme les clefs étrangère FK_* mais pas obligatoirement.

Le fait de réactiver les clefs étrangères ne vérifie pas les données présentes dans les tables liées par ses relations. Il faut donc vous assurez par vous-même de la validité des données liées par la clef étrangère.

Une petite astuce cependant pour forcer cette vérification, sans pour autant ôter les données invalides :

UPDATE MaTable SET ChampClef = ChampClef

Bonnes clefs…

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié lundi 9 juillet 2007 11:24 par christian
Classé sous : ,

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Merci par Blog de Jérémy Jeanson le 10-01-2019, 20:47

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01