日期:2014-05-17  浏览次数:20675 次

求一个SQL语句:如何获取一个表中的外建名以及该外键对应的外检表名?
如题

------解决方案--------------------
SQL code
SELECT NAME , OBJECT_NAME(referenced_object_id) 
FROM sys.foreign_keys 
WHERE OBJECT_NAME(parent_object_id)='tb_name'

------解决方案--------------------
探讨

引用:

SQL code
SELECT NAME , OBJECT_NAME(referenced_object_id)
FROM sys.foreign_keys
WHERE OBJECT_NAME(parent_object_id)='tb_name'


大侠,这个SQL语句只能查询出主外键关系名 和外键表名 如何查询出一个表中的外键字段名呢?

------解决方案--------------------
select s.id,k.fkeyid,k.fkey,c.name from sysobjects s
inner join sysforeignkeys k on k.constid=s.id
inner join syscolumns c on c.id=k.fkeyid and k.fkey=c.colid
where OBJECT_NAME(parent_obj)='tablename' and s.xtype='F'