반응형
프로젝트를 하고나면 산출물로 나오는 문서중에 테이블 정의서를 자주 만들고는 합니다.
테이블 정의서를 만들기 위해서 테이블을 하나하나씩 찾아가서
COLUMN 과 COMMENT 를 복사해서 엑셀 문서에 붙여넣기를 하곤 하는데
앞으로는 그렇게 하지 말기 위해서 SQL 문을 작성해두었습니다.
아래 SQL 을 가공하여 사용하면 더 쉬운 문서 한벌이 만들어 질 수 있으니 고효율이 아닐까요
SELECT T1.TABLE_NAME
, T3.COMMENTS AS TABLE_COMMENTS
, T1.COLUMN_NAME
, T2.COMMENTS AS COLUMN_COMMENTS
, CASE WHEN T1.DATA_TYPE IN ('LONG', 'CLOB', 'DATE') THEN DATA_TYPE
WHEN T1.DATA_TYPE = 'VARCHAR2' THEN DATA_TYPE || '(' || DATA_LENGTH || ' BYTE)'
WHEN T1.DATA_TYPE = 'NUMBER' THEN DATA_TYPE || '(' || DATA_LENGTH || ' BYTE)'
ELSE T1.DATA_TYPE
END AS DATA_TYPE
FROM ALL_TAB_COLUMNS T1
INNER JOIN USER_COL_COMMENTS T2
ON T1.TABLE_NAME = T2.TABLE_NAME
AND T1.COLUMN_NAME = T2.COLUMN_NAME
INNER JOIN USER_TAB_COMMENTS T3
ON T1.TABLE_NAME = T3.TABLE_NAME
WHERE OWNER = 'SCOTT'
AND T1.TABLE_NAME = 'EMP'
ORDER BY T1.TABLE_NAME, T1.COLUMN_ID
위의 SQL 만 놓고 보면 특정 한 개의 테이블을 조회를 하는것으로 보이지만
조회조건에서 TABLE_NAME 을 제거한다면
특정 스키마에 존재하는 테이블의 COLUMN 과 COMMENT, 그리고 DATA_TYPE 까지 한번에 조회할 수 있습니다.
테이블 정의서에 맞게 해당 SQL 을 가공하여 사용하면 시간을 조금이나마 아낄 수 있게 됩니다.
반응형
'IT > Oracle' 카테고리의 다른 글
Linux Oracle dump 1분만에 백업 방법 (0) | 2021.12.30 |
---|---|
오라클 프로시저 내용 조회 ( sql stored procedure content search ) (0) | 2020.08.26 |
plsql 오라클 프로시저 파라미터 테이블에 사용 (0) | 2020.08.25 |
ORACLE INSTR 함수 사용방법 (0) | 2020.06.02 |
ORACLE ROLLUP, CUBE 쉽게 활용 및 예제 (0) | 2020.05.14 |