![](http://sqlserver.work/wp-content/themes/cocoon-master/images/b-woman.png)
主キーの一覧を取得
できます!
![](http://sqlserver.work/wp-content/themes/cocoon-master/images/b-woman.png)
システムテーブル「sys.key_constraints」により
取得できます!
![](http://sqlserver.work/wp-content/themes/cocoon-master/images/b-woman.png)
「sys.tables」および「sys.schema」と紐づけることで
・主キーを設定しているスキーマ名とテーブル名
も合わせて取得できます!
![主キーを設定しているスキーマ名とテーブル名](https://sqlserver.work/wp-content/uploads/2023/02/sql_syukey_list_001.png)
SQL
ここでは当該列に対し別名を付けます。
・主キーの名前
・主キーを設定しているスキーマ名とテーブル名
また好みでソートします。
SELECT
skc.name AS '主キーの名前',
s.name + '.' + t.name AS '主キーを設定しているスキーマ名とテーブル名'
FROM
sys.key_constraints skc
INNER JOIN sys.tables t
ON t.object_id = skc.parent_object_id
INNER JOIN sys.schemas s
ON s.schema_id = t.schema_id
WHERE
skc.type = 'PK' --主キーを指定
ORDER BY
主キーの名前
実行結果
主キーの一覧を取得できました。
![実行結果](https://sqlserver.work/wp-content/uploads/2023/02/sql_syukey_list_003.png)
参考
上記で使用した以下の詳細は、公式サイトをご確認ください。
●テーブル「sys.key_constraints」