SQL Server-テーブルのプライマリーキー(PK)を取得する

プログラミング SQL Server

SQL ServerでSQLを使用してプライマリーキー(PK)を取得する必要があったのでちょっと調査した結果をメモします。

スポンサーリンク

プライマリーキー(PK)を取得する方法

SQL Serverでプライマリーキー(PK)を取得するSQLは以下の通りです。

SELECT
     tbls.name            AS table_name
    ,key_const.name       AS constraint_name
    ,idx_cols.key_ordinal AS key_ordinal
    ,cols.name            AS col_name
FROM
    sys.tables AS tbls
        INNER JOIN sys.key_constraints AS key_const ON
                tbls.object_id = key_const.parent_object_id
            AND key_const.type = 'PK'
            AND tbls.name = 'プライマリーキー(PK)を取得したいテーブル名'
        INNER JOIN sys.index_columns AS idx_cols ON
                key_const.parent_object_id = idx_cols.object_id
            AND key_const.unique_index_id  = idx_cols.index_id
        INNER JOIN sys.columns AS cols ON
                idx_cols.object_id = cols.object_id
            AND idx_cols.column_id = cols.column_id

タイトルとURLをコピーしました