我是微软 SQL服务器的新手,我对数据库的了解并不多。
我有以下疑问:
在我的数据库中,我有一个名为 CPE
的表格此表格有一个名为 SourceId 的字段(列),即我表格的 FOREIGN KEY 。
所以我认为这个字段必须包含在另一个表的某个字段中定义的值,因为它将2个表绑定在一起。)
我该怎么做才能发现另一个字段是什么,另一个字段链接到哪个?
TNX
安德烈
答案 0 :(得分:1)
你当然在寻找:
sp_help [table_name]
或尝试此查询:
select t.name as ForeignKeytable, fk.constraint_column_id as ForeignKey_No, c.name as ForeignKeyColumn
from sys.foreign_key_columns as fk
inner join sys.tables as t on fk.parent_object_id = t.object_id
inner join sys.columns as c on fk.parent_object_id = c.object_id and fk.parent_column_id = c.column_id
where fk.referenced_object_id = (select object_id from sys.tables where name = 'name')
order by ForeignKeytable, ForeignKey_No
答案 1 :(得分:0)
试试这个
方法1:
SELECT
object_name(parent_object_id) ParentTableName,
object_name(referenced_object_id) RefTableName,
name
FROM sys.foreign_keys
WHERE parent_object_id = object_id('Tablename')
或者:
方法2:
SELECT
OBJECT_NAME(f.parent_object_id) TableName,
COL_NAME(fc.parent_object_id,fc.parent_column_id) ColName
FROM
sys.foreign_keys AS f
INNER JOIN
sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
INNER JOIN
sys.tables t
ON t.OBJECT_ID = fc.referenced_object_id
WHERE
OBJECT_NAME (f.referenced_object_id) = 'Tablename'
答案 2 :(得分:0)
在对象资源管理器中,右键单击将位于关系的外键一侧的表,然后单击设计。 该表在表设计器中打开。
在表设计器菜单中,点击关系。
关系出现在选定关系列表中,系统提供的名称格式为FK__,其中tablename是外键表的名称。
单击所选关系列表中的关系。
点击右侧网格中的表格和列规范,然后点击属性右侧的省略号(...)。
现在,您将能够看到该表与其他表的关系。