반응형
TABLE_COMMENTS (테이블 코멘트) TABLE_NAME (테이블명) COLUMN_COMMENTS (컬럼 코멘트) COLUMN_NAME (컬럼명) PK_FLAG (pk 여부) FK_FLAG (fk 여부) NULL_FLAG (null 여부) DATA_TYPE (테이터타입) DATA_LENGTH (데이터 길이) SELECT A1.TABLE_COMMENTS TABLE_COMMENTS , A1.TABLE_NAME TABLE_NAME , A1.COLUMN_COMMENTS COLUMN_COMMENTS , A1.COLUMN_NAME COLUMN_NAME , (CASE WHEN B1.CONSTRAINT_TYPE = 'P' THEN 'Y' END) PK_FLAG , (CASE WHEN B1.CONSTRAINT_TYPE = 'R' THEN 'Y' END) FK_FLAG , A1.NULL_FLAG , A1.DATA_TYPE , A1.DATA_LENGTH FROM (SELECT B.COMMENTS TABLE_COMMENTS , A.TABLE_NAME TABLE_NAME , C.COMMENTS COLUMN_COMMENTS , A.COLUMN_NAME COLUMN_NAME , (CASE A.NULLABLE WHEN 'Y' THEN 'Y' END) NULL_FLAG , A.DATA_TYPE DATA_TYPE , (CASE WHEN A.DATA_TYPE IN ('CHAR', 'VARCHAR2') THEN '(' || A.DATA_LENGTH || ')' WHEN A.DATA_TYPE = 'NUMBER' AND A.DATA_SCALE = 0 AND A.DATA_PRECISION IS NOT NULL THEN '(' || A.DATA_PRECISION || ')' WHEN A.DATA_TYPE = 'NUMBER' AND A.DATA_SCALE <> 0 THEN '(' || A.DATA_PRECISION || ',' || A.DATA_SCALE || ')' END ) DATA_LENGTH , A.COLUMN_ID FROM USER_TAB_COLUMNS A , USER_TAB_COMMENTS B , USER_COL_COMMENTS C WHERE (A.TABLE_NAME = B.TABLE_NAME) AND ( A.TABLE_NAME = C.TABLE_NAME AND A.COLUMN_NAME = C.COLUMN_NAME )) A1 , (SELECT A.TABLE_NAME , A.COLUMN_NAME , B.CONSTRAINT_TYPE FROM USER_CONS_COLUMNS A , USER_CONSTRAINTS B WHERE (A.CONSTRAINT_NAME = B.CONSTRAINT_NAME) AND B.CONSTRAINT_TYPE IN ('P', 'R')) B1 WHERE ( A1.TABLE_NAME = B1.TABLE_NAME(+) AND A1.COLUMN_NAME = B1.COLUMN_NAME(+)) ORDER BY A1.TABLE_NAME, A1.COLUMN_ID
반응형
'Story > oracle' 카테고리의 다른 글
`BIN$+......==$0` 알수없는 테이블 (0) | 2012.03.08 |
---|---|
oracle 에서 랜덤값 (0) | 2012.03.08 |
pear oracle 외부서버 연결 (0) | 2009.05.08 |
php 에서 pear 를 사용해 oracle 값을 받아올때 컬럼명을 대문자 대신 소문자로 받고싶을때.. (0) | 2009.04.21 |
[펌] Oracle SQL Developer (0) | 2009.01.31 |