加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

如何获取SQLSERVER所有表的外键关系参数

发布时间:2020-12-12 13:05:43 所属栏目:MsSql教程 来源:网络整理
导读:SELECT 主表名=object_name(b.rkeyid),主键列ID=b.rkey,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid),外键表ID=b.fkeyid,外键表名称=object_name(b.fkeyid),外键列ID=b.fkey,外键列名=(SELECT name FROM syscolumns WHERE co
SELECT 主表名=object_name(b.rkeyid),主键列ID=b.rkey,主键列名=(SELECT name FROM syscolumns WHERE colid=b.rkey AND id=b.rkeyid),外键表ID=b.fkeyid,外键表名称=object_name(b.fkeyid),外键列ID=b.fkey,外键列名=(SELECT name FROM syscolumns WHERE colid=b.fkey AND id=b.fkeyid),级联更新=ObjectProperty(a.id,'CnstIsUpdateCascade'),级联删除=ObjectProperty(a.id,'CnstIsDeleteCascade') 
FROM sysobjects a 
    join sysforeignkeys b on a.id=b.constid 
    join sysobjects c on a.parent_obj=c.id 
where a.xtype='f' AND c.xtype='U' 

要看指定表的话,就用下面的代码:

SELECT 主键列ID=b.rkey,'CnstIsDeleteCascade') 
FROM sysobjects a 
    join sysforeignkeys b on a.id=b.constid 
    join sysobjects c on a.parent_obj=c.id 
where a.xtype='f' AND c.xtype='U' 
    and object_name(b.rkeyid)='tb'

也可以用系统的存储过程:

查主键:sp_pkeys '表名'

查外健:sp_fkeys '表名'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读