oracle / table 명세서 / 테이블 명세서 / 테이블 정보 / 조회 쿼리 / sql
2016. 1. 5. 15:41ㆍdatabase/oracle
오라클에서 테이블의 정보를 조회하는 쿼리입니다.
테이블의 정보를 조회하는 쿼리이다.
TABLE_COMMENTS (테이블 코멘트)
TABLE_NAME (테이블명)
COLUMN_COMMENTS (컬럼 코멘트)
COLUMN_NAME (컬럼명)
PK_FLAG (pk 여부)
FK_FLAG (fk 여부)
NULL_FLAG (null 여부)
DATA_TYPE (테이터타입)
DATA_LENGTH (데이터 길이)
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | 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 | cs |
'database > oracle' 카테고리의 다른 글
oracle / ORA-00904 / 스칼라 서브쿼리 / with (0) | 2016.01.05 |
---|---|
toad 글꼴 변경 (0) | 2016.01.05 |
oracle / expdp / impdp / data dupm / 덤프 (2) | 2016.01.05 |
oracle / 오라클 및 각종 DB 강좌 사이트 (0) | 2016.01.05 |
oracle xe 8080 prot / 포트 / 변경 (0) | 2016.01.05 |
Oracle 사용자 계정 생성 / 삭제 / 권한 (0) | 2016.01.05 |
oracle / split / 문자열 잘라서 세로로 표시 (0) | 2016.01.05 |
oracle / 오라클 / html tag 제거 / 태그 제거 / 태그 치환 (0) | 2016.01.05 |
oracle / 컬럼의 값을 가로로 표시하기 / WM_CONCAT / Listagg / 옆으로 표시 (0) | 2016.01.05 |
oracle / 데이터 복구 (0) | 2016.01.05 |