我是否可以检索主键与另一个表中的外键相关联的所有表名和关联的列名?
例如:我有一个表EMPLOYEE
,其主键通过许多其他表中的外键链接,例如DEPT
,ACCOUNT
等等。
有没有办法可以获取那些我使用员工的主键作为外键的表的表名和列名?
答案 0 :(得分:1)
您可以使用主视图的“查看依赖关系”功能在SSMS中获取该信息。 还有一些工具可以帮助你做到这一点,例如“SQLSpec”。 这是一个非常好的数据库文档工具。
http://www.sql-server-performance.com/2007/sqlspec/
希望这有帮助。
答案 1 :(得分:0)
偶然的机会今天我在脑海中得到了相同的查询并使用谷歌我发现了以下sql
SELECT OBJECT_NAME(OBJECT_ID) AS NameofConstraint,
SCHEMA_NAME(schema_id) AS SchemaName,
OBJECT_NAME(parent_object_id) AS TableName,
type_desc AS ConstraintType
FROM sys.objects
WHERE type_desc LIKE '%CONSTRAINT'
您可以根据需要更新LIKE '%CONSTRAINT'
。
我在sqlserver2005
答案 2 :(得分:0)
非常感谢大家...我在Postgresql中做到了我在哪里解雇了以下查询:
SELECT constraint_name
FROM information_schema.referential_constraints
WHERE unique_constraint_name='table_name_pkey'