我打算以最好的方式来描述这个。我需要测试删除是否正确处理数据库中的所有表。唯一需要检查的表是具有主键Users
的{{1}}表的外键。我只想拉入外键等于特定值的表。
以下查询将所有具有外键的表拉入UserID
UserID
我只需要一种方法来检查列出的表是否在其外键中的值等于特定值,例如26。
答案 0 :(得分:1)
我无法清楚地理解您的要求......根据我的理解,我给出了这个查询...如果需要,您可以尝试并告诉我们。
SELECT f.name AS ForeignKey,
OBJECT_NAME(f.parent_object_id) AS TableName,
COL_NAME(fc.parent_object_id, fc.parent_column_id) AS ColumnName,
OBJECT_NAME (f.referenced_object_id) AS ReferenceTableName,
COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS ReferenceColumnName
FROM sys.foreign_keys AS f INNER JOIN sys.foreign_key_columns AS fc
ON f.OBJECT_ID = fc.constraint_object_id
WHERE OBJECT_NAME(f.parent_object_id)= '**<Table_Name>**'