利用存储过程得到某一指定的表与其它的表之间的外键关系


--我参照的表名 我的果些字段[5]要参照以下表[1]的某些字段[3]的取值
declare @id bigint
select @id=id from sysobjects where name='d_病人资料库'


select a. name N'被参照表名',b.rkey N'被参照列在被参照表中的位置',c.name N'被参照列名',b.fkey N'参照字段在本表中的列位置' ,d.name N'参照字段名'
from sysforeignkeys b ,sysobjects a,syscolumns c ,(select name,colid from syscolumns where id=@ID ) d
where a.id=b.rkeyid and b.fkeyid=@ID and c.id=a.id and c.colid=b.rkey and d.colid=b.fkey
---我被参的表名 以下的表[1]的某列[2]的取值要求参照我的哪些字段[5]
select a. name N'参照我的表名',c.name N'列名',b.fkey N'参照字段位置' ,b.rkey N'我被参照字段在表中的位置',d.name N'我被参照的字段名'
from sysforeignkeys b ,sysobjects a,syscolumns c ,(select name,colid from syscolumns where id=@ID) d
where a.id=b.fkeyid and b.rkeyid=@ID and c.id=a.id and c.colid=b.fkey and d.colid=b.rkey

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3