-- TABLE의 COLUMN 정보 구하기
SELECT
TABLE_NAME,
COLUMN_NAME,
DATA_TYPE,
DATA_LENGTH,
DATA_PRECISION,
DATA_SCALE,
NULLABLE,
COLUMN_ID,
DATA_DEFAULT,
CHAR_LENGTH
FROM
USER_TAB_COLUMNS
WHERE
TABLE_NAME = 'TABLE명'
-- PRIMARY KEY INDEX명 구하기
SELECT
INDEX_NAME
FROM
USER_CONSTRAINTS
WHERE
TABLE_NAME = '테이블명' AND
CONSTRAINT_TYPE = 'P'
-- 인덱스 설명
SELECT
INDEX_NAME, -- 인덱스명
COLUMN_NAME, -- 컬럼명
COLUMN_POSITION, -- 컴럼순서
DESCEND -- 정렬방법
FROM
USER_IND_COLUMNS
WHERE
TABLE_NAME = '테이블명'
ORDER BY
INDEX_NAME, COLUMN_POSITION
-- 필드 코멘트
SELECT
COLUMN_NAME, -- 컬럼명
COMMENTS -- 컬럼설명
FROM
USER_COL_COMMENTS
WHERE
TABLE_NAME = '테이블명'
-- 테이블 코멘트
SELECT
COMMENTS
FROM
USER_TAB_COMMENTS
WHERE
TABLE_NAME = '테이블명'
-- 테이블 컬럼 정보
SELECT
A.COLUMN_ID, -- 컬럼순서
B.COMMENTS, -- 컬럼코멘트
A.COLUMN_NAME, -- 컬럼명
A.DATA_TYPE || '(' ||
DECODE(
A.DATA_TYPE,
'NUMBER',
A.DATA_PRECISION ||
DECODE(A.DATA_SCALE, 0, '', ',' || A.DATA_SCALE),
A.DATA_LENGTH) || ')', -- 타입
A.DATA_SCALE,
A.NULLABLE, -- NULLABLE
A.DATA_DEFAULT -- 디폴트값
FROM
USER_TAB_COLUMNS A, USER_COL_COMMENTS B
WHERE
A.TABLE_NAME = B.TABLE_NAME AND A.COLUMN_NAME = B.COLUMN_NAME AND
A.TABLE_NAME = '테이블명'
ORDER BY
A.COLUMN_ID
[출처] [오라클]테이블 및 컬럼정보 조회 쿼리|작성자 유레카
'DataBase' 카테고리의 다른 글
select 구문으로 update 하기(오라클) (0) | 2014.09.24 |
---|---|
MYSQL에서 ORACLE SEQUENCE 사용하기 (0) | 2014.03.21 |
mysql 에서 function, procedure 확인 및 수정 (0) | 2013.12.19 |
MySql DB 덤프 (0) | 2013.12.19 |
데이터베이스 정규화 (0) | 2012.11.06 |