查询数据库表的所有外键信息

来源:互联网 发布:白塔软件 编辑:程序博客网 时间:2024/06/08 10:27

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'

    --and object_name(b.rkeyid) like '%%' --主键表名

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2010/03/31/5439263.aspx

原创粉丝点击