sql server key键查看同一个库内不同表 但表key键是一致的 怎么写语句
时间: 2024-09-09 17:08:46 浏览: 30
sql server 2012 数据库所有表里查找某字符串的方法
5星 · 资源好评率100%
在SQL Server中,如果您想查找同一个数据库中不同表的键(这里假设您指的是主键或外键),且这些键的名称是一致的,您可以使用系统视图和一些查询技巧来实现这一点。以下是一个示例SQL查询语句,用于查找具有相同名称的主键或外键:
```sql
SELECT
tc.table_name,
tc.constraint_name,
tc.constraint_type,
kcu.column_name
FROM
information_schema.table_constraints AS tc
JOIN information_schema.key_column_usage AS kcu
ON tc.constraint_name = kcu.constraint_name
AND tc.table_name = kcu.table_name
WHERE
tc.constraint_type IN ('PRIMARY KEY', 'FOREIGN KEY')
AND tc.constraint_name = '您要查找的键名'
ORDER BY
tc.table_name;
```
在这段代码中,您需要将`'您要查找的键名'`替换为您想要查找的键的名称。这个查询将返回所有表名、约束名称、约束类型和列名,这些列具有与您指定的约束名称相匹配的主键或外键。
请注意,上述查询假设您已经知道要查找的键的名称,如果您想查找所有具有相同名称的键,您可以移除`WHERE`子句中的约束,但这可能会返回大量的结果,因为很多表可能都使用了默认的键名,如`FK_something`或`PK_something`。
阅读全文