sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo puedo enumerar todas las claves externas que hacen referencia a una tabla determinada en SQL Server?

No estoy seguro de por qué nadie sugirió, pero uso sp_fkeys para consultar claves foráneas para una tabla dada:

EXEC sp_fkeys 'TableName'

También puede especificar el esquema:

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

Sin especificar el esquema, los documentos establecen lo siguiente:

Si no se especifica pktable_owner, se aplican las reglas de visibilidad de tabla predeterminadas del DBMS subyacente.

En SQL Server, si el usuario actual posee una tabla con el nombre especificado, se devuelven las columnas de esa tabla. Si no se especifica pktable_owner y el usuario actual no posee una tabla con el pktable_name especificado, el procedimiento busca una tabla con el pktable_name especificado propiedad del propietario de la base de datos. Si existe, se devuelven las columnas de esa tabla.