티스토리 뷰

공부/SQL

테이블 정의서출력용 sql

감성윤 2017. 1. 19. 15:19

SELECT A.COMMENTS,

       A.COLUMN_NAME,

       DECODE(D.COLUMN_POSITION,'','','PK') AS PK,

       '' AS 유도테이블,

       DECODE(B.NULLABLE,'N','○','') AS NOTNULL,

       DECODE(C.UNIQUENESS,'UNIQUE','○','') AS "Unique",

       C.INDEX_NAME,

       B.DATA_TYPE,

       DECODE(DATA_PRECISION,'',B.DATA_LENGTH,DATA_PRECISION||DECODE(DATA_SCALE,'','',0,'','.'||DATA_SCALE)) AS LENGTH

  FROM user_COL_COMMENTS A,

       USER_TAB_COLUMNS B,

       (SELECT A.INDEX_NAME,

               A.TABLE_NAME,

               A.UNIQUENESS,

               B.COLUMN_NAME,

               B.COLUMN_POSITION,

               B.COLUMN_LENGTH

          FROM USER_INDEXES A, USER_IND_COLUMNS B

         WHERE A.INDEX_NAME = B.INDEX_NAME) C,

       (SELECT AA.TABLE_NAME,

               AA.INDEX_NAME,

               AA.COLUMN_NAME,

               AA.COLUMN_POSITION

          FROM USER_IND_COLUMNS AA, USER_CONSTRAINTS BB

         WHERE     BB.CONSTRAINT_TYPE = 'P'

               AND AA.TABLE_NAME = BB.TABLE_NAME

               AND AA.INDEX_NAME = BB.CONSTRAINT_NAME) D

 WHERE     A.table_name = 'TCA921T'

       AND 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 = D.TABLE_NAME(+)

       AND A.COLUMN_NAME = D.COLUMN_NAME(+)

 ORDER BY B.COLUMN_ID;

'공부 > SQL' 카테고리의 다른 글

DBObject  (0) 2016.08.08
Oracle-Query-Schema  (0) 2016.07.19
오라클 With절  (0) 2016.05.02
오라클 sys , system 암호(패스워드) 분실시  (0) 2016.05.02
View에 Comment달기  (0) 2016.05.02
댓글