我正在从数据库创建一个列表,我想在其中显示构成 SQL Server 中每个特定表中主键的列数。
例如,如果表 A 有单列作为主键,表 B 有 3 部分的复合键,表 C 有 2 部分的复合键,则结果将是:
Table Name No. PK Components
---------- -----------------
Table A 1
Table B 3
Table C 2
我曾多次尝试使用 INFORMATION_SCHEMA
和 sys
但失败了。
最佳答案
如果您正在查看 PK 中有多少列,这可以解决您的问题:
SELECT TABLE_NAME , COUNT(COLUMN_NAME) No_PK_Cols
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + CONSTRAINT_NAME), 'IsPrimaryKey') = 1
AND TABLE_SCHEMA = 'YourSchema'
GROUP BY TABLE_NAME
关于sql-server - 主要关键零部件 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40341165/