문제

information_schema를 사용하여 전달 된 테이블 이름에 대한 스키마 세부 정보를 가져와야합니다. 출력의 일부로 ColumnName, sonstraint_name, sonstraint_type가 필요합니다.

어떻게 할 수 있습니까?

감사

도움이 되었습니까?

해결책

좋아, 이것을 해결했습니다

WITH CONSTRAINTLIST 
AS
(
SELECT KCU.TABLE_NAME, KCU.COLUMN_NAME, TC.CONSTRAINT_TYPE
FROM    INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS TC 
JOIN    INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS KCU ON   KCU.CONSTRAINT_SCHEMA =     TC.CONSTRAINT_SCHEMA 
    AND KCU.CONSTRAINT_NAME = TC.CONSTRAINT_NAME 
    AND KCU.TABLE_SCHEMA = TC.TABLE_SCHEMA 
    AND KCU.TABLE_NAME = TC.TABLE_NAME 
WHERE        TC.CONSTRAINT_TYPE IN ( 'PRIMARY KEY') 
)
SELECT COL.COLUMN_NAME, CL.CONSTRAINT_TYPE FROM INFORMATION_SCHEMA.COLUMNS COL
LEFT JOIN CONSTRAINTLIST CL
ON COL.COLUMN_NAME = CL.COLUMN_NAME AND COL.TABLE_NAME = CL.TABLE_NAME
    WHERE  COL.TABLE_NAME = 'TABLE_NAME'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top