您的当前位置:首页正文

sqlserver表外键查询

2021-10-16 来源:好兔宠物网
sqlserver表外键查询

--本表外键SELECT

f.name AS foreign_key_name

,OBJECT_NAME(f.parent_object_id) AS table_name

,COL_NAME(fc.parent_object_id, fc.parent_column_id) AS constraint_column_name,OBJECT_NAME (f.referenced_object_id) AS referenced_object

,COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS referenced_column_name,is_disabled

,delete_referential_action_desc,update_referential_action_descFROM sys.foreign_keys AS f

INNER JOIN sys.foreign_key_columns AS fcON f.object_id = fc.constraint_object_id

WHERE f.parent_object_id = OBJECT_ID('table_name');

--外键被参考表

SELECT 主键列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.idwhere a.xtype='f' AND c.xtype='U'

and object_name(b.rkeyid)='table_name'

因篇幅问题不能全部显示,请点此查看更多更全内容