SELECT T3.name[被引用字段] ,T5.name[引用它的表名] ,T4.name[引用它的字段] FROM SYS.foreign_keys T1 JOIN SYS.foreign_key_columns T2 ON T1.object_id=T2.constraint_object_id JOIN SYS.SYSCOLUMNS T3 ON T2.referenced_object_id = T3.ID AND T2.referenced_column_id = T3.colid JOIN SYS.SYSCOLUMNS T4 ON T2.parent_object_id = T4.ID AND T2.parent_column_id = T4.colid JOIN SYS.SYSOBJECTS T5 ON T2.parent_object_id = T5.ID WHERE T1.referenced_object_id=OBJECT_ID('被引用表名')如版主所说,你试下
try this: SELECT * INTO #t FROM OPENROWSET('SQLOLEDB','SERVER=.;uid=sa;pwd=sa;Database=NewPackOne', 'EXEC sp_fkeys Container') t --把链接参考换下 SELECT PKTABLE_NAME '主表',PKCOLUMN_NAME '主表列',PK_NAME'主键名', FKTABLE_NAME'外键表', FKCOLUMN_NAME'外键表列', PK_NAME'外键名' FROM #t
求可以查询到关联表的语句
from sys.foreign_keys
where name ='外键名';
T3.name[被引用字段]
,T5.name[引用它的表名]
,T4.name[引用它的字段]
FROM
SYS.foreign_keys T1
JOIN SYS.foreign_key_columns T2 ON T1.object_id=T2.constraint_object_id
JOIN SYS.SYSCOLUMNS T3 ON T2.referenced_object_id = T3.ID AND T2.referenced_column_id = T3.colid
JOIN SYS.SYSCOLUMNS T4 ON T2.parent_object_id = T4.ID AND T2.parent_column_id = T4.colid
JOIN SYS.SYSOBJECTS T5 ON T2.parent_object_id = T5.ID
WHERE T1.referenced_object_id=OBJECT_ID('被引用表名')如版主所说,你试下
SELECT * INTO #t FROM OPENROWSET('SQLOLEDB','SERVER=.;uid=sa;pwd=sa;Database=NewPackOne', 'EXEC sp_fkeys Container') t --把链接参考换下
SELECT PKTABLE_NAME '主表',PKCOLUMN_NAME '主表列',PK_NAME'主键名', FKTABLE_NAME'外键表', FKCOLUMN_NAME'外键表列', PK_NAME'外键名' FROM #t