데이터베이스 내에서 사용하는 스키마나 테이블이 많을 경우, 한 번에 어떤 컬럼 혹은 테이블이 어느 위치에 있는지 잘 모를 때가 많다. 혹은, 한글로된 코맨트 정보를 이용해 역추적 하는 경우도 많다.
#2. 쿼리
아래의 코드를 이용해 WHERE구문을 변경해가며 테이블이나 컬럼 위치를 찾으면 보다 유용하다.
- 테이블명 검색 : (영문or물리)A1.TABLE_NAME, (국문or논리)A1.COMMENTS
- 컬럼명 검색 : (영문or물리)A3._COLUMN_NAME, (국문or논리)A3.COMMENTS
--테이블 및 컬럼명 검색
SELECT A1.OWNER /*OWNER*/
,A1.TABLE_NAME AS TAB_ID /*테이블영문명*/
,A2.COMMENTS AS TAB_NM /*테이블한글명*/
,A3.COLUMN_ID AS COL_SEQ /*컬럼순서*/
,A1.COLUMN_NAME AS COL_ID /*컬럼영문명*/
,A1.COMMENTS AS COL_NM /*컬럼한글명*/
,A3.NULLABLE AS NULL_YN /*NULL여부*/
,A3.DATA_TYPE||'('||A3.DATA_LENGTH||')' AS DATA_TYPE /*데이터타입*/
FROM SYS.ALL_COL_COMMENTS A1
INNER JOIN SYS.ALL_TAB_COMMENTS A2
ON A1.OWNER = A2.OWNER
AND A1.TABLE_NAME = A2.TABLE_NAME
INNER JOIN SYS.ALL_TAB_COLS A3
ON A1.OWNER = A3.OWNER
AND A1.TABLE_NAME = A3.TABLE_NAME
AND A1.COLUMN_NAME = A3.COLUMN_NAME
WHERE A1.TABLE_NAME = 'MY_TABLE_NAME'
ORDER BY A1.OWNER
,A1.TABLE_NAME
,A3.COLUMN_ID
;
댓글 없음:
댓글 쓰기