Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie kann ich alle Fremdschlüssel auflisten, die auf eine bestimmte Tabelle in SQL Server verweisen?

Ich bin mir nicht sicher, warum niemand vorgeschlagen hat, aber ich verwende sp_fkeys um Fremdschlüssel für eine gegebene Tabelle abzufragen:

EXEC sp_fkeys 'TableName'

Sie können auch das Schema angeben:

EXEC sp_fkeys @pktable_name = 'TableName', @pktable_owner = 'dbo'

Ohne das Schema anzugeben, geben die Dokumente Folgendes an:

Wenn pktable_owner nicht angegeben ist, gelten die Standardregeln für die Tabellensichtbarkeit des zugrunde liegenden DBMS.

Wenn der aktuelle Benutzer in SQL Server eine Tabelle mit dem angegebenen Namen besitzt, werden die Spalten dieser Tabelle zurückgegeben. Wenn pktable_owner nicht angegeben ist und der aktuelle Benutzer keine Tabelle mit dem angegebenen pktable_name besitzt, sucht die Prozedur nach einer Tabelle mit dem angegebenen pktable_name, die dem Eigentümer der Datenbank gehört. Falls vorhanden, werden die Spalten dieser Tabelle zurückgegeben.