본문 바로가기

Database&WAS/Oracle

Column의 Comment를 이용한 테이블 정의서 작성용 쿼리

Excel로 테이블 정의서 작성하려고 만든 쿼리

Column의 Comment를 기준으로 만드므로 Comment를 먼저 추가시켜주고 작업하면 됨


SELECT ROWNUM "순번", Y.*

FROM (

  SELECT

         COLUMN_NAME "컬럼명",

         COMMENTS "컬럼",

         D_TYPE "타입",

         ISNULL "NULL여부",

         NVL2 (POSITION, 'Y', '') "PK여부",

         '' "비고"

    FROM (SELECT ROWNUM AS SEQ,

                 A.COLUMN_NAME,

                 B.COMMENTS,

                 A.DATA_TYPE || '(' 

                 || DECODE (

                       A.DATA_TYPE,

                       'NUMBER', A.DATA_PRECISION  || DECODE (A.DATA_SCALE, '0', '', ',' || A.DATA_SCALE),

                       A.DATA_LENGTH)

                 || ')'   "D_TYPE",

                 DECODE (A.NULLABLE, 'N', 'N', '') "ISNULL",

                 (SELECT BB.POSITION

                    FROM USER_CONSTRAINTS AA, USER_CONS_COLUMNS BB

                   WHERE  AA.CONSTRAINT_NAME = BB.CONSTRAINT_NAME

                         AND AA.TABLE_NAME = UPPER (:SEARCH)

                         AND AA.CONSTRAINT_TYPE = 'P'

                         AND BB.COLUMN_NAME = A.COLUMN_NAME)

                    "POSITION"

            FROM COLS A, ALL_COL_COMMENTS B

           WHERE     A.TABLE_NAME = B.TABLE_NAME

                 AND A.COLUMN_NAME = B.COLUMN_NAME

                 AND B.TABLE_NAME = UPPER (:SEARCH)

             ) X

ORDER BY POSITION, SEQ

) Y