본문 바로가기

DataBase

Oracle 테이블 및 컬럼정보 조회 쿼리

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

-- 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