用于检索数据库中的密钥数的SQL查询
如何检索数据库中每个表的主键、所有辅助键、唯一索引的总数?SQL中有没有函数可以让我得到这个用于检索数据库中的密钥数的SQL查询,sql,count,sql-server-2012,key,Sql,Count,Sql Server 2012,Key,如何检索数据库中每个表的主键、所有辅助键、唯一索引的总数?SQL中有没有函数可以让我得到这个 我使用的是SQL Server 2012数据库此查询针对的是系统索引系统目录视图可能会提供您所需的内容(或者至少是一个起点): 它列出当前数据库中所有表的所有索引,并显示索引名、表名、索引类型(集群或非集群)以及主键、唯一索引等的标志 您可以阅读更多关于MSDN的信息以及他们可能为您提供的信息 试试这个 Select object_name(object_id), sum(case
我使用的是SQL Server 2012数据库此查询针对的是
系统索引
系统目录视图可能会提供您所需的内容(或者至少是一个起点):
它列出当前数据库中所有表的所有索引,并显示索引名、表名、索引类型(集群或非集群)以及主键、唯一索引等的标志
您可以阅读更多关于MSDN的信息以及他们可能为您提供的信息 试试这个
Select object_name(object_id),
sum(case when is_primary_key = 1 then 1 else 0 end) 'Primary_Count',
sum(case when is_unique_constraint = 1 then 1 else 0 end) 'Unique_Count'
from sys.indexes m
group by object_id,case when is_primary_key = 1 then is_primary_key else is_unique_constraint end
我正在使用SQL Server 2012 databaseEXEC SP_帮助“表名称”。我想你想要的是计数,而不是在你要求计数时显示它们
Select object_name(object_id),
sum(case when is_primary_key = 1 then 1 else 0 end) 'Primary_Count',
sum(case when is_unique_constraint = 1 then 1 else 0 end) 'Unique_Count'
from sys.indexes m
group by object_id,case when is_primary_key = 1 then is_primary_key else is_unique_constraint end