본문 바로가기

db/oracle

oracle 테이블 명세서 쿼리

반응형
oracle 테이블 명세서 (정의서)
oracle 테이블 명세서 쿼리, 테이블 정의서 쿼리 작성 내용입니다.

 

 

oracle 쿼리
  1. 테이블명세서 (정의서) 내용입니다.
  2. [테이블 설명], [칼럼명], [칼럼 COMMENT], [DATA TYPE], [길이], [소수점], [기본값], [NOT NULL여부], [PK 여부]
SELECT 
    T.TABLE_NAME,                                        -- 테이블 명
    C.COMMENTS AS TABLE_COMMENT,                         -- 테이블 설명
    COL.COLUMN_NAME,                                     -- 컬럼명
    COL_COM.COMMENTS AS COLUMN_COMMENT,                  -- 컬럼 COMMENT
    COL.DATA_TYPE,                                       -- DATA TYPE
    COL.DATA_LENGTH AS LENGTH,                           -- 길이
    COL.DATA_SCALE AS SCALE,                             -- 소수점
    COL.DATA_DEFAULT AS DEFAULT_VALUE,                   -- 기본값
    CASE COL.NULLABLE WHEN 'Y' THEN 'YES' ELSE 'NO' END AS IS_NULLABLE,  -- NOT NULL 여부
    CASE WHEN CONS.COLUMN_NAME IS NOT NULL THEN 'YES' ELSE 'NO' END AS IS_PK  -- PK 여부
FROM 
    USER_TAB_COLUMNS COL
    JOIN USER_TABLES T ON T.TABLE_NAME = COL.TABLE_NAME
    LEFT JOIN USER_COL_COMMENTS COL_COM ON COL.TABLE_NAME = COL_COM.TABLE_NAME AND COL.COLUMN_NAME = COL_COM.COLUMN_NAME
    LEFT JOIN USER_TAB_COMMENTS C ON T.TABLE_NAME = C.TABLE_NAME
    LEFT JOIN (
        SELECT 
            CONS.COLUMN_NAME, CONS.TABLE_NAME
        FROM 
            USER_CONS_COLUMNS CONS
            JOIN USER_CONSTRAINTS CON ON CONS.CONSTRAINT_NAME = CON.CONSTRAINT_NAME
        WHERE 
            CON.CONSTRAINT_TYPE = 'P'
    ) CONS ON COL.TABLE_NAME = CONS.TABLE_NAME AND COL.COLUMN_NAME = CONS.COLUMN_NAME
ORDER BY 
    COL.TABLE_NAME, COL.COLUMN_ID;
  • TABLE_NAME: 테이블의 이름을 나타냅니다.
  • TABLE_COMMENT: 테이블에 대한 설명(확장 속성)을 가져옵니다.
  • COLUMN_NAME: 칼럼의 이름을 나타냅니다.
  • COLUMN_COMMENT: 칼럼에 대한 설명(확장 속성)을 가져옵니다.
  • DATA_TYPE: 칼럼의 데이터 타입을 나타냅니다.
  • LENGTH: 문자열 칼럼의 최대 길이를 나타냅니다.
  • SCALE: 숫자 칼럼의 소수점 이하 자릿수를 나타냅니다.
  • DEFAULT_VALUE: 칼럼의 기본값을 나타냅니다.
  • IS_NULLABLE: 칼럼이 NULL을 허용하는지 여부를 나타냅니다.
  • IS_PK: 해당 칼럼이 PRIMARY KEY인지 여부를 나타냅니다.

 

 

반응형

'db > oracle' 카테고리의 다른 글

windows oracle on/off 자동 실행  (0) 2024.06.06
oracle limit offset test query  (0) 2024.02.10
oracle random name  (2) 2024.02.09
egov 4.1 oracle 연결  (2) 2024.02.08
oracle xml parsing  (0) 2024.02.06