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 |
댓글