SQLServerでテーブルのプライマリキー(PK)をSQLで取得します。
SQLServerでテーブルのプライマリキー(PK)をSQLで取得する
SQLServerでテーブルのプライマリキー(PK)をSQLで取得します。
--------------------------------------- --テーブルを作成する --------------------------------------- CREATE TABLE test_table ( no INT NOT NULL ,name VARCHAR(20) DEFAULT NULL ,age INT DEFAULT 0 ,CONSTRAINT [PK_test_tabe] PRIMARY KEY CLUSTERED ( no ASC ) ) --------------------------------------- --テーブルのプライマリキー(PK)を取得する --------------------------------------- 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 = 'test_table' 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 --------------------------------------- --テーブルを削除する --------------------------------------- DROP TABLE test_table
実行結果
table_name | constraint_name | key_ordinal | col_name |
---|---|---|---|
test_table | PK_test_tabe | 1 | no |
です。