Oracle 테이블 스키마 및 인덱스 정보 추출
MSSQL에서 테이블 칼럼에 대한 정보를 추출하는 블로그 글을 쓴적이 있습니다.
MSSQL 테이블 정보 추출에 관해서 알고 싶으시면 아래 링크를 통해서 확인 가능 하십니다.
[MSSQL Error 처리 및 칼럼 설명 정보 추출]
[MSSQL 배열, 칼럼 추가 및 테이블 정보 추출]
오라클에도 동일하게 테이블 칼럼에 대한 정보를 추출 할 수 있습니다.
여기서는 또한 팁으로 인덱스 정보를 추출하는 쿼리도 같이 알아보겠습니다.
A.COLUMN_NAME
, B.COMMENTS
, A.DATA_TYPE
, A.DATA_LENGTH
, CASE WHEN C.CONSTRAINT_TYPE = 'P' THEN '○' ELSE '' END -- PK 여부
, CASE WHEN A.NULLABLE = 'N' THEN '○' ELSE '' END
, A.DATA_DEFAULT
FROM USER_TAB_COLUMNS A, USER_COL_COMMENTS B, (
SELECT
C.TABLE_NAME
, C.COLUMN_NAME
, D.CONSTRAINT_TYPE
FROM USER_CONS_COLUMNS C
, (SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'P') D
WHERE C.TABLE_NAME = D.TABLE_NAME
AND C.CONSTRAINT_NAME = D.CONSTRAINT_NAME
) C
WHERE A.TABLE_NAME = B.TABLE_NAME(+)
AND A.COLUMN_NAME = B.COLUMN_NAME(+)
AND A.TABLE_NAME = C.TABLE_NAME(+)
AND A.COLUMN_NAME = C.COLUMN_NAME(+)
AND A.TABLE_NAME = '테이블명'
ORDER BY COLUMN_ID;
A.UNIQUENESS
, B.INDEX_NAME
, B.COLUMN_NAME
FROM ALL_INDEXES A, ALL_IND_COLUMNS B
WHERE A.INDEX_NAME = B.INDEX_NAME
AND A.TABLE_NAME = '테이블명'
ORDER BY COLUMN_POSITION;
이상으로 Oracle 테이블 스키마 및 인덱스 정보 추출에 대해서 알아보았습니다.
오늘도 행복하고 좋은 하루 보내세요~~~^^
MSSQL 테이블 정보 추출에 관해서 알고 싶으시면 아래 링크를 통해서 확인 가능 하십니다.
[MSSQL Error 처리 및 칼럼 설명 정보 추출]
[MSSQL 배열, 칼럼 추가 및 테이블 정보 추출]
오라클에도 동일하게 테이블 칼럼에 대한 정보를 추출 할 수 있습니다.
여기서는 또한 팁으로 인덱스 정보를 추출하는 쿼리도 같이 알아보겠습니다.
▶ Oracle 테이블 스키마 정보 추출
SELECTA.COLUMN_NAME
, B.COMMENTS
, A.DATA_TYPE
, A.DATA_LENGTH
, CASE WHEN C.CONSTRAINT_TYPE = 'P' THEN '○' ELSE '' END -- PK 여부
, CASE WHEN A.NULLABLE = 'N' THEN '○' ELSE '' END
, A.DATA_DEFAULT
FROM USER_TAB_COLUMNS A, USER_COL_COMMENTS B, (
SELECT
C.TABLE_NAME
, C.COLUMN_NAME
, D.CONSTRAINT_TYPE
FROM USER_CONS_COLUMNS C
, (SELECT TABLE_NAME, CONSTRAINT_NAME, CONSTRAINT_TYPE FROM USER_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'P') D
WHERE C.TABLE_NAME = D.TABLE_NAME
AND C.CONSTRAINT_NAME = D.CONSTRAINT_NAME
) C
WHERE A.TABLE_NAME = B.TABLE_NAME(+)
AND A.COLUMN_NAME = B.COLUMN_NAME(+)
AND A.TABLE_NAME = C.TABLE_NAME(+)
AND A.COLUMN_NAME = C.COLUMN_NAME(+)
AND A.TABLE_NAME = '테이블명'
ORDER BY COLUMN_ID;
▶ Oracle 테이블 인덱스 정보 추출
SELECTA.UNIQUENESS
, B.INDEX_NAME
, B.COLUMN_NAME
FROM ALL_INDEXES A, ALL_IND_COLUMNS B
WHERE A.INDEX_NAME = B.INDEX_NAME
AND A.TABLE_NAME = '테이블명'
ORDER BY COLUMN_POSITION;
이상으로 Oracle 테이블 스키마 및 인덱스 정보 추출에 대해서 알아보았습니다.
오늘도 행복하고 좋은 하루 보내세요~~~^^
댓글
댓글 쓰기