Gibt es eine einfache Möglichkeit zu überprüfen, ob ein Fremdschlüssel für eine Spalte in einer Tabelle existiert? Ich schreibe ein Skript, das den Fremdschlüssel nur dann hinzufügt, wenn er nicht existiert.Eine Möglichkeit zu überprüfen, ob ein Fremdschlüssel in SQL 2005 existiert
35
A
Antwort
65
Sie dieses Skript verwenden:
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
Dies kann getan werden, wenn Sie die Tabelle und klicken Sie rechts auf eine vorhandene FK erweitern und Skriptschlüssel als „DROP TO“ wählen und dann werden Sie eine generierte erhalten Skript aus SQL.
7
Woo-hoo! Ich habe die letzten zwei Tage damit verbracht.
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)
Verwandte Themen
- 1. Schnellste Möglichkeit zu überprüfen, ob ein Objekt existiert
- 2. Überprüfen Sie, ob eine SQL-Tabelle existiert
- 3. Überprüfen, ob ein Element existiert
- 4. Überprüfen, ob ein Registrierungsschlüssel existiert
- 5. PHP überprüfen, ob Datensatz in SQL existiert
- 6. Überprüfen, ob ein Datenrahmen existiert
- 7. Überprüfen, ob eine Formulareingabe existiert
- 8. Gibt es in Android eine Möglichkeit zu überprüfen, ob ein bestimmter Dienst existiert?
- 9. Eine bessere Möglichkeit, zu überprüfen, ob ein Pfad existiert oder nicht in Powershell
- 10. Wie zu überprüfen, ob eine Domain bereits in SWF existiert
- 11. Überprüfen, ob ein Element in Winkelmesser existiert
- 12. Java - Schnellste Möglichkeit zu überprüfen, ob die URL existiert
- 13. Was ist der portabelste Weg, um zu überprüfen, ob ein Trigger in SQL Server existiert?
- 14. Überprüfen, ob eine Tabelle in MySQL existiert
- 15. Überprüfen Sie, ob eine Klasse existiert
- 16. Überprüfen, ob Fragment existiert
- 17. Knoten - Überprüfen Sie, ob ein Verzeichnis existiert
- 18. Überprüfen, ob ein include (oder require) existiert
- 19. Überprüfen Sie, ob Modellfeld in Django existiert
- 20. Mit WatiN ... überprüfen, ob ein Element existiert?
- 21. Überprüfen, ob die Position existiert
- 22. überprüfen, ob URL existiert php
- 23. Python: überprüfen, ob URL zu Jpg existiert
- 24. Überprüfen Sie, ob eine Remote-Datei existiert
- 25. zu überprüfen, ob MdiChildren existiert, C#
- 26. Überprüfen Sie, ob eine Klassenkonstante existiert
- 27. SQL Server 2005 - Fremdschlüssel mit kaskadiertem Löschvorgang
- 28. Gibt es eine schnellere Möglichkeit zu überprüfen, ob eine externe Webseite existiert?
- 29. Fremdschlüssel und Indizes für SQL Server 2005
- 30. Meteor Vorlage Helper, um zu überprüfen, ob ein Dokument existiert
Dieses Skript hat super funktioniert! Ich kann nicht glauben, dass man so etwas von der Speisekarte schreiben könnte. Vielen Dank für die Hilfe. –
Sie können fast alles in SQL mit der rechten Maustaste anklicken und ein Skript für Sie erstellen, Tabellen, Stored Procedures, Foreign Key und mehr. Management Studio ist dein Freund, wenn du einige der coolen Funktionen gelernt hast. – CodeLikeBeaker
Diese Methode funktioniert nur, wenn der Standardname des Fremdschlüssels verwendet wird. Es ist unzuverlässig, an Namen zu arbeiten, die auf Annahmen basieren, insbesondere wenn Sie an Datenbanken arbeiten, die von anderen erstellt wurden, die einer anderen Namenskonvention folgen könnten. Gibt es Möglichkeiten, zu überprüfen, ob eine bestimmte Spalte ein Fremdschlüssel zu einer anderen Tabelle ist, anstatt nach dem Namen des Fremdschlüssels zu suchen? –