sqlserver2005中如何查看某一表跟哪张表有主外键关系 可以看到就行
4个回答
展开全部
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
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
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
打开你的数据库,如果是英文的那么就打开你的Database Diagrams,如果你创建了视图,那么这里就可以看见,如果没有,你添加视图,就可以直接看见!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以查看数据库关系图
也可以查看约束啊
也可以查看约束啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询