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  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。