메뉴 건너뛰기

조회 수 8949 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

개발환경 : Oracle 11g, window 7 32bit

 

모든 오라클에 있는 정보를 알수 있는 테이블들은 USER_* 로 시작한다.

아래는 이런 정보들을 알수 있는 테이블에 대한 정보이다

그림은 user_tables 을 조회했을때의 내역이다.

 

1. USER_TABLES : 테이블정보

2. USER_TAB_COLUMNS : 컬럼정보

3. USER_OBJECTS : 모든 오브젝트의 정보를 알려줌

4. USER_VIEWS : 뷰에 대한 정보

5. USER_SYNONYMS : 동의의 정보

6. USER_SEQUENCES : 시퀀스 정보

7. USER_CONSTRAINTS : 제약조건에 대한 정보

8. USER_CONS_COLUMNS : 제약조건에 대한 컬럼정보

9. USER_TAB_COMMENTS : 테이블/뷰에 대한 주석

10. USER_COL_COMMENTS : 컬럼에 대한 주석

11. USER_INDEXES : 인덱스에 대한 정보

12. USER_IND_COLUMNS : 인덱스 컬럼에 대한 정보

13. USER_CLUSTERS : 클러스터에 대한 정보

14. USER_DB_LINKS : 데이터베이스 링크 정보

15. USER_TRIGGERS : 트리거 정보

16. USER_SOURCE : 프로시저, 함수, 패키지 정보

17. USER_ERRORS : 코드 에러에 대한 정보

18. USER_TABLESPACES : 테이블 스페이스 정보

19. USER_USERS : 사용자에 대한 정보

20. USER_TAB_PRIVS : 테이블 권한에 대한 정보

21. USER_COL_PRIVS : 테이블열 권한에 대한 정보

22. USER_SYS_PRIVS : 시스템 권한에 대한 정보

 

아래 예제는 위에서 소개한 테이블 정보를 조합에서 보기 편리하게 만든 쿼리이다.

 

테이블에 대한 정보를 상세하게 보여준다.

 

SELECT   COL.TABLE_NAME AS TNAME,

           TCOM.COMMENTS AS TCMT,

           COL.COLUMN_NAME AS COL_NM,

           CCOM.COMMENTS AS COL_CMT,

           COL.DATA_TYPE AS TYPE_CD,

           DECODE (COL.DATA_TYPE,

                   'NUMBER', COL.DATA_PRECISION || '.' || COL.DATA_SCALE,

                   COL.DATA_LENGTH)

              AS LENGTH,

           COL.NULLABLE AS NULL_YN,

           COL.DATA_DEFAULT AS D_DEFAULT,

           COL.NUM_DISTINCT AS NUM_DISTINCT

    FROM   USER_TAB_COLUMNS COL, USER_TAB_COMMENTS TCOM, USER_COL_COMMENTS CCOM

   WHERE       COL.TABLE_NAME = TCOM.TABLE_NAME

           AND COL.TABLE_NAME = CCOM.TABLE_NAME

           AND COL.COLUMN_NAME = CCOM.COLUMN_NAME

           AND COL.TABLE_NAME = 'COUNTRIES'

ORDER BY   COL.TABLE_NAME, COL.COLUMN_ID

테이블 정보와 제약조건을 알려주는 정보테이블을 조합해서 PK 정보를 조회한다.

 

SELECT   COL.TABLE_NAME AS TNAME,

           TCOM.COMMENTS AS TCMT,

           COL.COLUMN_NAME AS COL_NM,

           CCOM.COMMENTS AS COL_CMT,

           COL.COLUMN_ID ID,

           PKCOL.COLUMN_POSITION AS PK,

           COL.DATA_TYPE AS TYPE_CD,

           DECODE (COL.DATA_TYPE,

                   'NUMBER', COL.DATA_PRECISION || '.' || COL.DATA_SCALE,

                   COL.DATA_LENGTH)

              AS LENGTH,

           COL.NULLABLE AS NULL_YN,

           COL.DATA_DEFAULT AS D_DEFAULT,

           COL.NUM_DISTINCT AS NUM_DISTINCT

    FROM   USER_TAB_COLUMNS COL,

           USER_TAB_COMMENTS TCOM,

           USER_COL_COMMENTS CCOM,

           (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) PKCOL

   WHERE       COL.TABLE_NAME = TCOM.TABLE_NAME

           AND COL.TABLE_NAME = CCOM.TABLE_NAME

           AND COL.COLUMN_NAME = CCOM.COLUMN_NAME

           AND COL.TABLE_NAME = 'COUNTRIES'

           AND COL.COLUMN_NAME = PKCOL.COLUMN_NAME(+)

           AND COL.TABLE_NAME = PKCOL.TABLE_NAME(+)

ORDER BY   COL.TABLE_NAME, COL.COLUMN_ID

USER 가 아닌 ALL 로 시작하는 테이블로 정보를 알수 있는 것도 있다.

조회하면 너무 많으므로 OWNER 필드에 사용자 계정을 조건으로 걸자.

1. ALL_CATALOG : 모든 테이블, 뷰정보 조회

2. ALL_OBJECT_TABLES : 모든 오브젝트 테이블 정보

3. ALL_TAB_COMMENTS : 모든 테이블 주석 정보

4. ALL_TYPES : 모든 오브젝트 타입에 대한 정보

5. ALL_USERS : 모든 사용자 정보

 

2012-11-2 추가 자료 : 시스템 정보 조회 테이블

 

추가로 시스템 정보를 조회할수 있는 테이블 목록입니다.

* ALL_OBJECTS : 오브젝트 조회

select * from all_objects where object_name like '오브젝트명';

 

* ALL_SYNONYMS : 시노팀 조회

select * from all_synonyms where synonym_name='시노님명';

 

* ALL_IND_COLUMNS : 테이블 인덱스 정보 조회  

select * from all_ind_columns where table_name='테이블명';

 

* ALL_TAB_COLUMNS : 테이블별 컬럼정보 조회  

select * from all_tab_columns where table_name='테이블명';

 

* ALL_COL_COMMENTS : 테이블 컬럼 comment 조회  

select * from all_col_comments where table_name='테이블명';


List of Articles
번호 제목 날짜 조회 수
121 Oracle 11g Client Install 및 외부 클라이언트 도구의 사용 file 2016.12.08 70721
120 linux 오라클 리스너 설정(오라클 원격접속) 2016.09.11 25399
119 Oracle 11g Database에 외부 접속 허용하도록 설정하기 file 2016.12.08 24907
118 오라클 DB 생성 후 설정 Listener.ora & Tnsnames.ora (윈도우) file 2016.12.08 23308
117 숫자 체크 방법 (IS_NUMBER, IS_NUMERIC) file 2016.12.08 23127
116 구분자로 자르기 (Split) file 2016.12.08 20566
115 [Oracle SQL] 여러 행(ROW)을 하나의 컬럼(COLUMN)으로 합치기 (WM_CONCAT) file 2016.12.08 20018
114 오라클 (Oracle) 11g 를 위한 토드(Toad) 무료 버전 다운받기 file 2016.08.30 16021
113 동적쿼리(Dynamic SQL) 사용법 (텍스트 쿼리) file 2016.12.08 15045
112 숫자를 문자로 변환 시 소수점 처리 (TO_CHAR, FM) file 2016.12.08 15027
111 INSTR 문자열의 뒤(마지막)에서 부터 문자 찾기 (right to left, last) file 2016.12.08 14893
110 컬럼의 값 만큼 행(Row)을 늘리기 file 2016.12.08 14092
109 오라클에서 레코드 값이 없을때 2016.12.08 13469
108 데이터의 암호화 및 복호화 file 2016.12.08 13245
107 CLOB TEXT 데이타를 저장하고, 조회하는 예제 2016.12.08 13069
106 여러개(다중) LIKE 검색 방법 (REGEXP_LIKE 함수) file 2016.12.08 12822
105 피봇(Pivot)을 이용하여 행(Row)을 열(Column)로 바꾸기 file 2016.12.08 12675
104 [Oracle] DB Export, Import 방법 2016.12.08 12607
103 오라클 테이블 생성 스크립트 DDL 추출 - 깔끔하게 Table 전부 추출(Export)하기 file 2016.12.08 12533
102 CentOS 6.5 에 Oracle Database 11g Release 2 설치하기 file 2016.12.08 12409
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved