반응형
테이블 목록 조회
SELECT
OBJ.OWNER -- 테이블 소유자(계정)
, TABS.TABLESPACE_NAME -- 테이블스페이스명
, TABS.TABLE_NAME -- 테이블명
, COMM.COMMENTS -- 테이블 설명
, TABS.NUM_ROWS -- 테이블 데이터건수
FROM ALL_OBJECTS OBJ
INNER JOIN USER_TABLES TABS
ON TABS.TABLE_NAME = OBJ.OBJECT_NAME
INNER JOIN ALL_TAB_COMMENTS COMM
ON COMM.TABLE_NAME = TABS.TABLE_NAME
WHERE 1=1
-- 테이블만
AND OBJ.OBJECT_TYPE = 'TABLE'
-- 오라클 기본 계정은 제외
AND OBJ.OWNER NOT IN ('SYSTEM','SYS','PUBLIC', 'WMSYS')
-- 제외할 테이블명 (필요없는 임시테이블 등..)
AND OBJ.OBJECT_NAME NOT LIKE '%TEMP%'
AND OBJ.OBJECT_NAME NOT LIKE '%TMP%'
AND OBJ.OBJECT_NAME NOT LIKE '%TOAD%'
ORDER BY OBJ.OWNER ASC, TABLE_NAME ASC
;
테이블 컬럼 조회
SELECT
OBJ.OWNER -- 테이블 소유자(계정)
, TABS.TABLESPACE_NAME -- 테이블스페이스명
, TABS.TABLE_NAME -- 테이블명
, COMM.COMMENTS -- 테이블 설명
, COLS.COLUMN_NAME -- 컬럼명
, COLSCOMM.COMMENTS -- 컬럼설명
, COLS.NULLABLE -- NULL 허용여부
, COLS.DATA_TYPE -- 보기편하게 수정
, CASE WHEN COLS.DATA_TYPE IN ('NUMBER') AND COLS.DATA_PRECISION IS NOT NULL THEN COLS.DATA_PRECISION||','||COLS.DATA_SCALE
WHEN COLS.DATA_TYPE IN ('NUMBER') AND COLS.DATA_PRECISION IS NULL THEN TO_CHAR(DATA_LENGTH)
ELSE COLS.CHAR_LENGTH||' CHAR'
END AS DATATYPE
, COLS.DATA_DEFAULT AS DATA_DEFAULT -- 기본값 (LONG형이라 별도의 방법으로 조회 필요)
, COLS.DATA_LENGTH -- BYTE 형태의 길이
, COLS.CHAR_LENGTH -- CHAR 형태의 길이 (1 CHAR가 3byte 또는 4byte 일 수 있음)
FROM ALL_OBJECTS OBJ
INNER JOIN USER_TABLES TABS
ON TABS.TABLE_NAME = OBJ.OBJECT_NAME
INNER JOIN ALL_TAB_COMMENTS COMM
ON COMM.TABLE_NAME = TABS.TABLE_NAME
INNER JOIN COLS COLS
ON COLS.TABLE_NAME = TABS.TABLE_NAME
INNER JOIN USER_COL_COMMENTS COLSCOMM
ON COLSCOMM.TABLE_NAME = COLS.TABLE_NAME
AND COLSCOMM.COLUMN_NAME = COLS.COLUMN_NAME
WHERE 1=1
-- 테이블만
AND OBJ.OBJECT_TYPE = 'TABLE'
-- 오라클 기본 계정은 제외
AND OBJ.OWNER NOT IN ('SYSTEM','SYS','PUBLIC', 'WMSYS')
-- 제외할 테이블명 (필요없는 임시테이블 등..)
AND OBJ.OBJECT_NAME NOT LIKE '%TEMP%'
AND OBJ.OBJECT_NAME NOT LIKE '%TMP%'
AND OBJ.OBJECT_NAME NOT LIKE '%TOAD%'
-- 특정 테이블만 보고 싶을 경우
AND OBJ.OBJECT_NAME = '테이블명'
ORDER BY OBJ.OWNER ASC, TABLE_NAME ASC, COLS.COLUMN_ID
;
반응형
'개발 > database' 카테고리의 다른 글
[sqlite] SQLite 설치 / 간단사용법 (0) | 2021.01.17 |
---|---|
[mssql] 정규표현식 특정 문자 변경 (0) | 2021.01.17 |
[oracle] 오라클 설치 후 사용자 계정 만들기/권한 부여 (0) | 2021.01.17 |
[oracle] 오라클 클라이언트 없이 DB 툴 사용하기 (oracle instance client 설치) (0) | 2021.01.17 |
[oracle] 오라클 컬럼 추가 수정 삭제 (0) | 2021.01.17 |
댓글