달력

52024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
SELECT
     BB.OWNER                               AS OWNER
    ,BB.TABLE_NAME                          AS TABLE_ID
    ,GG.COMMENTS                            AS TABLE_NAME
    ,BB.COLUMN_ID+1                         AS COLUMN_NO
    ,BB.COLUMN_NAME                         AS COLUMN_ID
    ,AA.COMMENTS                            AS COLUMM_NAME
    ,BB.DATA_TYPE                           AS DATA_TYPE
    ,DECODE(BB.DATA_TYPE, 'NUMBER', BB.DATA_PRECISION, BB.DATA_LENGTH) AS DATA_LENGTH
    ,BB.DATA_SCALE                          AS DATA_SCALE
    ,DECODE(CC.COLUMN_NAME, '', '', 'Y')    AS PK
    ,DECODE(BB.NULLABLE, 'Y', '', 'Y')      AS NULLABLE
    ,BB.DATA_DEFAULT                        AS DEFAULT_VALUE
    ,SUBSTR(EE.CONSTRAINT_NAME, 12, 7)      AS FK_ID
    ,FF.TABLESPACE_NAME                     AS TS_NAME
    ,FF.NUM_ROWS                            AS ROW_CNT
    ,DD.CREATED                             AS CRE_DATE
    ,DD.LAST_DDL_TIME                       AS UPT_DATE
FROM ( SELECT * FROM    ALL_COL_COMMENTS  ) AA,
 ( SELECT * FROM    ALL_TAB_COLUMNS   ) BB,
 ( SELECT * FROM    ALL_CONS_COLUMNS    WHERE CONSTRAINT_NAME LIKE 'PK%') CC,
 ( SELECT * FROM    ALL_OBJECTS         WHERE OBJECT_TYPE = 'TABLE' AND OWNER = '계정명' ) DD,
 ( SELECT * FROM    ALL_CONS_COLUMNS    WHERE CONSTRAINT_NAME LIKE 'FK%') EE,
 ( SELECT * FROM    ALL_TABLES          WHERE OWNER = '계정명') FF,
 ( SELECT * FROM    ALL_TAB_COMMENTS    WHERE OWNER = '계정명') GG
WHERE 1=1
    AND   AA.OWNER          = BB.OWNER
    AND   AA.TABLE_NAME     = BB.TABLE_NAME
    AND   AA.COLUMN_NAME    = BB.COLUMN_NAME
    AND   AA.OWNER          = CC.OWNER(+)
    AND   AA.TABLE_NAME     = CC.TABLE_NAME(+)
    AND   AA.COLUMN_NAME    = CC.COLUMN_NAME(+)
    AND   AA.OWNER          = DD.OWNER
    AND   AA.TABLE_NAME     = DD.OBJECT_NAME
    AND   AA.OWNER          = EE.OWNER(+)
    AND   AA.TABLE_NAME     = EE.TABLE_NAME(+)
    AND   AA.COLUMN_NAME    = EE.COLUMN_NAME(+)
    AND   AA.TABLE_NAME     = FF.TABLE_NAME(+)
    AND   AA.TABLE_NAME     = GG.TABLE_NAME(+)
    -- AND   SUBSTR(AA.TABLE_NAME,0,2) = '구분자'  <-- 테이블이 많을시에 구분 조건
    AND   AA.TABLE_NAME LIKE '테이블 명'
ORDER BY AA.TABLE_NAME, BB.COLUMN_ID


'Database > ORACLE' 카테고리의 다른 글

SQL 명령어  (0) 2015.02.24
비교 UPDATE 구분  (0) 2015.02.24
계정별 권한주기  (0) 2015.02.24
SQL 명 정리  (0) 2015.02.24
대용량 데이터 밀어넣기  (0) 2015.02.24
Posted by 타카스 류지
|