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

来源:互联网 发布:网络上说的cp什么意思 编辑:程序博客网 时间:2024/05/22 07:39
--我参照的表名  我的果些字段[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
原创粉丝点击