Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je lister toutes les clés étrangères faisant référence à une table donnée dans SQL Server ?

Je ne sais pas pourquoi personne n'a suggéré mais j'utilise sp_fkeys pour interroger les clés étrangères d'une table donnée :

EXEC sp_fkeys 'TableName'

Vous pouvez également spécifier le schéma :

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

Sans spécifier le schéma, la documentation indique ce qui suit :

Si pktable_owner n'est pas spécifié, les règles de visibilité de table par défaut du SGBD sous-jacent s'appliquent.

Dans SQL Server, si l'utilisateur actuel possède une table avec le nom spécifié, les colonnes de cette table sont renvoyées. Si pktable_owner n'est pas spécifié et que l'utilisateur actuel ne possède pas de table avec le pktable_name spécifié, la procédure recherche une table avec le pktable_name spécifié appartenant au propriétaire de la base de données. S'il en existe une, les colonnes de cette table sont renvoyées.