1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | WITH LIST AS ( SELECT A.TABLE_NAME, A.COLUMN_NAME, A.DATA_TYPE, A.DATA_LENGTH, A.NULLABLE, B.COMMENTS FROM dba_tab_columns A, all_col_comments B WHERE A.OWNER = B.OWNER AND A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME AND A.OWNER = 'LOTOSDEV' -- DB명 ), PKLIST AS ( SELECT C.TABLE_NAME, C.COLUMN_NAME, C.POSITION FROM USER_CONS_COLUMNS C, USER_CONSTRAINTS S WHERE C.CONSTRAINT_NAME = S.CONSTRAINT_NAME AND S.CONSTRAINT_TYPE = 'P' ) SELECT L.TABLE_NAME AS "테이블명", L.COLUMN_NAME AS "컬럼명", L.DATA_TYPE AS "데이터타입", L.DATA_LENGTH AS "길이", CASE WHEN P.POSITION < 99 THEN 'Y' ELSE ' ' END AS "PK", L.NULLABLE AS "Null 여부", L.COMMENTS AS "Comments" FROM LIST L, PKLIST P WHERE L.TABLE_NAME = P.TABLE_NAME AND L.COLUMN_NAME = P.COLUMN_NAME ORDER BY L.TABLE_NAME, NVL(P.POSITION, 99) ; | cs |
PK여부 포함해서 테이블정의서 만들어주는 쿼리입니다.
'프로그래밍 언어 > 쿼리문 + Oracle + MySQL' 카테고리의 다른 글
[Orange] 오렌지에서 오라클(Oracle) 다른 유저로 DB 가져오기(import) (0) | 2017.07.27 |
---|---|
[오라클] Oracle에서 컬럼의 값 만큼 행(Row)을 늘리는 쿼리 (0) | 2017.06.29 |
[오라클] 동적쿼리를 실행해서 원하는 값을 가져오는 Oracle 함수 예제 (0) | 2017.06.23 |
[Oracle] 오라클 락(lock) 걸렸을 때 사용할 유용한 쿼리들 (0) | 2017.06.08 |
[Oracle] 날마다 시퀀스가 초기화되는 오라클 날짜 시퀀스(Sequence) 만들기 (0) | 2017.05.30 |
댓글