개발/Database

[ORACLE] 테이블 관련 정보 쿼리

내가지니 2008. 7. 26. 14:03
테이블 관련 정보를 알아볼수 있는 쿼리를 정리했다.
나름 유용하게 사용할수 있을꺼 같다.

# 해당 테이블스페이스에 관련된 모든 테이블을 가져온다.
SELECT * FROM TABS

# 해당 테이블스페이스에 관련된 모든 시퀀스를 가져온다.
SELECT * FROM SEQ

# 해당 테이블스페이스에 관련된 모든 뷰의 정보를 가져온다.
SELECT * FROM USER_VIEWS

# 해당 테이블에 컬럼리스트를 가져온다.
SELECT *
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 테이블명
ORDER BY COLUMN_ID ASC

# 해당 테이블스페이스에 관련된 모든 트리거를 가져온단.
SELECT * FROM USER_TRIGGERS

# 해당 테이블에 관련된 제약 정보들을 가져온다.
SELECT  C.TABLE_NAME A1,
        SUBSTR(A.COLUMN_NAME,1,15) A2,
        DECODE(B.CONSTRAINT_TYPE, 'P','PRIMARY KEY',
                                  'U','UNIQUE KEY',
                                  'C','CHECK OR NOT NULL',
                                  'R','FOREIGN KEY') A3,
        A.CONSTRAINT_NAME   A4      
FROM    USER_CONS_COLUMNS  A,  USER_CONSTRAINTS  B, USER_INDEXES C
WHERE   A.TABLE_NAME = B.TABLE_NAME
AND     A.TABLE_NAME = C.TABLE_NAME
AND     A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
AND     A.TABLE_NAME =UPPER('테이블명')

ORDER BY 1,2;