T-SQL中找出一个表的所有外键关联表

二种方法(下例中表名为T_Work)

1.SQL查询系统表 

  1. SELECT 主键列ID=b.rkey   
  2.     ,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid)   
  3.     ,外键表ID=b.fkeyid   
  4.     ,外键表名称=object_name(b.fkeyid)   
  5.     ,外键列ID=b.fkey   
  6.     ,外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid)   
  7.     ,级联更新=ObjectProperty(a.id,'CnstIsUpdateCascade')   
  8.     ,级联删除=ObjectProperty(a.id,'CnstIsDeleteCascade')   
  9. FROM sysobjects a   
  10.     join sysforeignkeys b on a.id=b.constid   
  11.     join sysobjects c on a.parent_obj=c.id   
  12. where a.xtype='f' AND c.xtype='U' 
  13.     and object_name(b.rkeyid)='T_Work'  

 

2.系统存储过程

  1. exec sp_helpconstraint T_Work  

 

posted @ 2014-02-15 22:54  HiEagle  阅读(432)  评论(0编辑  收藏  举报