[SQL Server] Get list PK list
SQL ver: SQL Server 2017 standard 보통은 테이블에 PK를 두지만 세상 일이란게 꼭 그렇지 않고, 또 누군가의 업무를 받았을 때 해당 DB 파악을 위해 확인하는 것이 좋다. 내 경우는 INDEX는 서비스 중에 거는 것을 선호하지만 PK는 반드시 걸려고 한다. SELECT t.TABLE_SCHEMA, t.TABLE_NAME, tc.CONSTRAINT_NAME FROM INFORMATION_SCHEMA. TABLES AS t LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS tc ON t.TABLE_SCHEMA = tc.CONSTRAINT_SCHEMA AND t.TABLE_NAME = tc.TABLE_NAME AND tc.CONSTRAINT_TYPE = 'PRIMARY KEY' AND tc.CONSTRAINT_SCHEMA < > 'sys' ORDER BY t.TABLE_SCHEMA, t.TABLE_NAME 간단하게 Information_schema 정보들을 활용해서 리스트를 확인했다. tc.COONSTRAINT_NAME의 값이 NULL이라면 해당 테이블에 PRIMARY KEY가 없는 것이므로 설정해주는 것이 좋다.