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 | -- 테이블 정보 조회 SELECT * FROM user_tables -- 인덱스 조회 SELECT * FROM user_indexes -- 인덱스 컬럼 정보 SELECT * FROM user_ind_columns -- 테이블 + 인덱스 SELECT * FROM user_tables ut LEFT JOIN user_ind_columns uic ON ut.table_name = uic.table_name -- 테이블 + 인덱스 SELECT table_name , index_name , column_name , 'A' AS ST , decode(UI.uniqueness, 'UNIQUE' , 'U' ) AS UQ FROM user_tables ut LEFT JOIN user_ind_columns uic ON ut.table_name = uic.table_name LEFT JOIN user_indexes UI ON ut.table_name = UI.table_name ORDER BY table_name, UQ, column_name
|
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
57
|
-- 테이블 & 컬럼 정보 SELECT * FROM USER_TAB_COLS
-- 테이블 주석 정보 SELECT * FROM user_tab_comments
-- 컬럼 주석 정보 SELECT * FROM user_col_comments
-- 제약 정보 SELECT * FROM user_constraints
-- 제약 컬럼 정보 SELECT * FROM user_cons_columns
-- 제약 정보와 컬럼 정보를 같이 표출 SELECT uc.table_name, column_name, constraint_type
FROM user_constraints uc
LEFT JOIN user_cons_columns ucc
ON uc.constraint_name = ucc.constraint_name
WHERE constraint_type != 'C'
--------------------------------------------------------- -- 데이터베이스 설계서 작성을 위한 쿼리 --------------------------------------------------------- -- 컬럼 + 제약 WITH colandcons AS
( SELECT uc.table_name, column_name, constraint_type
FROM user_constraints uc
LEFT JOIN user_cons_columns ucc
ON uc.constraint_name = ucc.constraint_name
WHERE constraint_type != 'C'
) -- 테이블명 + 컬럼명 + PK, + FK + 타입(길이) + Nullable(N만) SELECT utc.table_name
, utcm.comments AS 테이블명
, utc.column_name
, uccm.comments AS 컬럼명
, decode(constraint_type, 'P' , 'O' ) AS PK
, decode(constraint_type, 'F' , 'O' ) AS FK
, utc.data_type || '(' || utc.data_length || ')' AS data_type
, decode(NULLABLE, 'N' , 'N' ) AS N
FROM USER_TAB_COLS utc
LEFT JOIN user_tab_comments utcm
ON utc.table_name = utcm.table_name
LEFT JOIN user_col_comments uccm
ON utc.table_name = uccm.table_name
AND utc.column_name = uccm.column_name
LEFT JOIN colandcons cac
ON utc.table_name = cac.table_name
AND utc.column_name = cac.column_name
ORDER BY utc.table_name, cac.constraint_type, utc.column_name
---------------------------------------------------------- -- with 와 select 를 동시에 실행해야 함
|
'Programming > Oracle' 카테고리의 다른 글
Oracle HINT (0) | 2014.12.01 |
---|---|
ORACLE REGEXP (0) | 2014.11.04 |
[오라클] PK 컬럼 얻기 (0) | 2012.10.09 |
scott / tiger (0) | 2012.02.29 |
오라클 컬럼 추가. (0) | 2012.02.06 |
댓글