sqlserver2005中如何查看某一表跟哪张表有主外键关系 可以看到就行

2024-11-09 11:24:14
推荐回答(4个)
回答1:

select a.owner, --主键拥有者
a.table_name, --主键表
b.column_name, --主键列
c.OWNER, --外键拥有者
c.table_name, --外键表
d.column_name --外键列
from user_constraints a
left join user_cons_columns b
on a.constraint_name=b.constraint_name
left join user_constraints c
on c.R_CONSTRAINT_NAME=a.constraint_name
left join user_cons_columns d
on c.constraint_name=d.constraint_name
where a.constraint_type='P'
and a.table_name='xxx' --需要查看主外键关系的表
order by a.table_name

回答2:

1简单的方法看“数据库关系图”
2从系统表

select fk.*
,obj.name --外键名
,obj2.name --外键表
,obj3.name --主键表
from sysforeignkeys fk inner join sysobjects obj on fk.constid=obj.id
inner join sysobjects obj2 on fk.fkeyid = obj2.id
inner join sysobjects obj3 on fk.rkeyid = obj3.id
order by obj2.name

回答3:

打开你的数据库,如果是英文的那么就打开你的Database Diagrams,如果你创建了视图,那么这里就可以看见,如果没有,你添加视图,就可以直接看见!

回答4:

可以查看数据库关系图
也可以查看约束啊