est-il un moyen facile de vérifier si une clé étrangère existe pour une colonne dans une table? J'écris un script qui ajoutera la clé étrangère seulement si elle n'existe pas.Une façon de vérifier si la clé étrangère existe dans SQL 2005
35
A
Répondre
65
Vous pouvez utiliser ce script:
IF EXISTS (SELECT *
FROM sys.foreign_keys
WHERE object_id = OBJECT_ID(N'[dbo].[FK_NAME]')
AND parent_object_id = OBJECT_ID(N'[dbo].[MyTable]'))
BEGIN
-- do stuff
END
Cela peut être fait si vous développez la table et un clic droit sur une clé de script FK et choisissez existant « DROP TO » et vous obtiendrez produit un script de SQL.
7
Woo-hoo! Je viens de passer les deux derniers jours à le faire.
IF NOT EXISTS (SELECT name
FROM sys.foreign_keys
WHERE name = 'FK_Name')
ALTER TABLE table_name ADD CONSTRAINT FK_Name FOREIGN KEY (idcol)
REFERENCES OtherTable(idcol)
Questions connexes
- 1. SQL 2005 Clé étrangère entre une autre base
- 2. SQL Server 2005: contrainte de clé étrangère Nullable
- 3. Créer clé étrangère SQL
- 4. Comment insérer des informations dans une table SQL si la table contient une clé étrangère?
- 5. contrainte de clé étrangère dans sql
- 6. Comment vérifier si une procédure stockée existe dans SQL Azure?
- 7. Comment définir une clé étrangère dans Mnesia
- 8. Dans ActionScript, quelle est la meilleure façon de vérifier si une propriété de noeud xml existe?
- 9. Comment déterminer si une clé de registre existe dans Wix
- 10. Comment supprimer une clé étrangère dans SQL Server?
- 11. sqlalchemy créer une clé étrangère?
- 12. Vérifier si un élément existe
- 13. Quelle est la meilleure façon de vérifier l'existence d'une connexion dans SQL Server 2005
- 14. Problème SQL Compact (CE) avec la création de clé étrangère
- 15. ADO.Net Excel, Vérifier si une table existe?
- 16. Hibernation: vérifier si l'objet existe
- 17. SQL Suppression en cascade sans clé étrangère?
- 18. Question de clé étrangère composite
- 19. SQL Pivot pour la colonne de clé étrangère
- 20. Comment vérifier si une clé existe dans un hachage en Perl?
- 21. Quelle est la meilleure façon de déterminer si une table temporaire existe dans SQL Server?
- 22. linq to sql @identity clé étrangère insertonsubmit
- 23. Modification d'objets de clé étrangère
- 24. Vérifier si l'élément XML existe
- 25. Dois-je utiliser une clé étrangère pour afficher la relation d'arborescence dans SQL
- 26. Blocage SQL Server 2005 sur la clé
- 27. Vérifier si l'URI relative existe
- 28. Comment mapper une colonne de clé étrangère dans nhibernate?
- 29. Obtenir la valeur de clé étrangère
- 30. SharePoint: Vérifier si l'élément existe dans une liste, surcharge minimale
Ce script a très bien fonctionné! Je ne peux pas croire que vous pourriez écrire quelque chose comme ça dans le menu. Merci beaucoup pour votre aide. –
Vous pouvez pratiquement faire un clic droit sur n'importe quoi dans SQL et le faire générer un script pour vous, Tables, Procédures stockées, Clé étrangère et plus encore. Le studio de gestion est votre ami une fois que vous apprenez quelques-unes des fonctionnalités intéressantes qu'il peut faire. – CodeLikeBeaker
Cette méthode ne fonctionne que si le nom par défaut de la clé étrangère est utilisé. Il n'est pas fiable de travailler sur des noms basés sur des hypothèses, surtout si vous travaillez sur des bases de données créées par d'autres personnes qui pourraient suivre une convention de nommage différente. Existe-t-il des moyens de vérifier si une colonne particulière est une clé étrangère à une autre table au lieu de vérifier le nom de la clé étrangère? –