2016-12-13 5 views
0

Ich habe eine Tabelle 'A' in MSSQL. Es ist die Elterntabelle für viele andere Tabellen. Abhängig von dieser Tabelle gibt es ungefähr 200 Tabellen. (Diese 200 Tabellen haben Fremdschlüsselverweise auf 'A'. Ich dachte alle 200 Tabellen haben eine on-delete -cascade-Klausel mit der Tabelle 'A'. Es gibt eine Abfrage in meiner Anwendung, die Datensätze von 'A' basierend auf zwei Parametern löscht . in 'WHERE-Klausel aber es wirft verursacht durch:Wie finde ich untergeordnete Tabellen für eine gegebene Tabelle

com.microsoft.sqlserver.jdbc.SQLServerException: die DELETE-Anweisung in Konflikt mit der REFERENCE-Einschränkung

Jetzt erkenne ich, dass nicht alle Tabellen mit' verbunden sind, ON DELETE CASCADE 'WITH TABLE' A '. Es ist mühsam, alle Tabellen mit Fremdschlüssel Referenzen auf Tabelle' A 'oder ON DELETE CASCADE Link zu Tabelle' A 'zu sehen.

Gibt es eine Abkürzung alle Abhängigkeiten zu kennen, anstatt DDLs aller Tabellen zu erzeugen und zu sehen.

Vielen Dank im Voraus

+0

Sie könnten eine Abfrage für das [Informationsschema] (https://msdn.microsoft.com/en-GB/library/ms186778.aspx) schreiben, das nicht kaskadierende FKeys an Tabelle A zurückgibt. –

Antwort

1

verwenden SQL

sp_help 'YourTableNameHere' 

Die vollständigen Details dazu finden Sie hier: MSDN

-1

Sie eine von mehreren freien Datenbank diagramming Tools verwenden können (Google ist Ihr Freund hier) oder Sie können ein Datenbankdiagramm aus SSMS erstellen. Diese sind in jeder Datenbank enthalten. Fügen Sie einfach die Tabellen hinzu, die Sie sehen möchten, und die Beziehungen werden automatisch für Sie zugeordnet.

Wenn Sie benötigen, finden Sie detaillierte Schritte here.

Verwandte Themen