급히 테이블 정의서를 작성하던 중 엔티티정의서는 일일이 적기엔 무리였다ㅜㅜ
처음에 노가다로 일일이 적다가 팀원분이 알려준 방법..
테이블 하나하나씩 컬럼을 출력해주는 쿼리를 작성하여 테이블을 출력한 후
엑셀파일로 저장해서 복사 붙여넣기하면 끝이였다!
SELECT
COLUMN_ID AS SEQ
,( SELECT NVL(D.POSITION, '')
FROM ALL_CONS_COLUMNS D
, all_constraints E
WHERE D.OWNER = 'owner'
AND D.OWNER = A.OWNER
AND D.TABLE_NAME = A.TABLE_NAME
AND D.COLUMN_NAME = A.COLUMN_NAME
AND D.OWNER = E.OWNER
AND D.TABLE_NAME = E.TABLE_NAME
AND D.CONSTRAINT_NAME = E.CONSTRAINT_NAME
AND E.CONSTRAINT_TYPE = 'P') AS PK
,( SELECT CASE WHEN D.POSITION is null then ''
ELSE 'V'
END
FROM ALL_CONS_COLUMNS D
, all_constraints E
WHERE D.OWNER = ['owner']
AND D.OWNER = A.OWNER
AND D.TABLE_NAME = A.TABLE_NAME
AND D.COLUMN_NAME = A.COLUMN_NAME
AND D.OWNER = E.OWNER
AND D.TABLE_NAME = E.TABLE_NAME
AND D.CONSTRAINT_NAME = E.CONSTRAINT_NAME
AND E.CONSTRAINT_TYPE = 'R') AS FK
, A.COLUMN_NAME AS COLUMN_ID
, C.COMMENTS
, A.DATA_TYPE
, A.DATA_LENGTH
, A.NULLABLE
, A.DATA_DEFAULT
FROM ALL_TAB_COLUMNS A
, ALL_TAB_COMMENTS B
, ALL_COL_COMMENTS C
WHERE A.OWNER = 'owner'
AND B.OWNER = 'owner'
AND C.OWNER = 'owner'
AND A.OWNER = B.OWNER
AND A.OWNER = C.OWNER
AND A.TABLE_NAME = B.TABLE_NAME
AND A.TABLE_NAME = C.TABLE_NAME
AND A.COLUMN_NAME = C.COLUMN_NAME
AND A.TABLE_NAME = 'table_name'
ORDER BY 1
빨간 부분은 직접 db정보를 넣으면 되고 owner의 정보는
빨간박스안에 user의 이름을 적어주면 된다.
'study > 인턴일지' 카테고리의 다른 글
[ORACLE/DB]데이터 삭제 및 수정 (0) | 2020.04.21 |
---|---|
[CLOB/DTO/데이터베이스] CLOB으로 DB에 저장하기 (0) | 2020.04.13 |
[JAVA/BufferedReader/BufferedWriter]콘솔 입출력 (0) | 2020.03.31 |
[Chrome/openWax/웹접근성검사]openWax로 웹접근성 검사 해보기 (0) | 2020.03.27 |
웹 접근성 및 준수사항 (0) | 2020.03.26 |