Wie finde ich heraus, wo der Verweis auf den Primärschlüssel in SQL Server verwendet wird?

8

Ich habe eine Tabelle in SQL Server 2008 R2 mit dem Primärschlüssel ID , der dann von mehreren Tabellen in der Datenbank als Fremdschlüssel verwendet wird. Wie finde ich heraus, durch welche Tabellen es verwendet wird? Ich versuche, diesen Datensatz zu löschen, beschwere mich jedoch, dass ID verwendet wird.

Oder gibt es eine einfache Möglichkeit, alle referenzierten Datensätze aus der gesamten Datenbank zu löschen, indem Sie der Datenbank ID geben? Im Moment gehe ich für jede Tabelle (die ich kenne, hat diese ID als Fremdschlüssel) und Löschen von Datensätzen, die dieser bestimmten ID entsprechen, aber wenn es bessere / einfachere Möglichkeiten gibt, sie zu finden und alle auf einmal mit einfachem Code zu löschen, dann würde das funktionieren beste Idee.

    
MadBoy 10.06.2011, 08:30
quelle

4 Antworten

15

MS SQL profitiert davon, dass es sich selbst beschreiben kann. Insbesondere gibt es eine Reihe von Ansichten, die mit INFORMATION_SCHEMA beginnen.

Um eine Vorstellung davon zu bekommen, wo Ihr Feld verwendet wird, versuchen Sie Folgendes: -

%Vor%     
Paul Alan Taylor 10.06.2011, 08:37
quelle
4
%Vor%     
Patrick 21.07.2015 09:55
quelle
2

Sehen Sie sich die Tabellen an sysobjects und sysforeignkeys , können Sie alle Fremdschlüssel erhalten die auf Ihre Tabelle verweisen.

Probieren Sie diese ungeprüfte Aussage:

%Vor%     
CloudyMarble 10.06.2011 08:46
quelle
1

machen Sie einfach die Beziehung kaskadieren auf löschen

    
Jahan Zinedine 10.06.2011 08:35
quelle