posted by 구름너머 2004. 10. 15. 10:18

--1. 테이블에 걸려있는 제약 조건의 확인
-- USER_CONS_COLUMNS : 컬럼에 할당된 제약 조건을 볼 수 있습니다.
-- USER_CONSTRAINTS : 유저가 소유한 모든 제약 조건을 불 수 있습니다.
--이 두개의 데이터사전을 참조 하면 됩니다.
SELECT SUBSTR(A.COLUMN_NAME,1,15) COLUMN_NAME,   -- 컬럼명
     DECODE(B.CONSTRAINT_TYPE,
'P','PRIMARY KEY',
           'U','UNIQUE KEY',
           'C','CHECK OR NOT NULL',
'R','FOREIGN KEY') CONSTRAINT_TYPE,   -- 제약조건 TYPE
     A.CONSTRAINT_NAME   CONSTRAINT_NAME   -- 제약 조건 명
FROM  USER_CONS_COLUMNS  A,  USER_CONSTRAINTS  B  
WHERE  A.TABLE_NAME = UPPER('TB_CODECD')  
AND  A.TABLE_NAME = B.TABLE_NAME  
AND  A.CONSTRAINT_NAME = B.CONSTRAINT_NAME  
ORDER BY 1   

--2. 테이블의 특정 컬럼에 걸려있는 제약 조건의 확인
--USER_CONS_COLUMNS : 컬럼에 할당된 제약 조건을 볼 수 있습니다.
--SQL>SET LINESIZE 300
SELECT SUBSTR(TABLE_NAME,1,15)    TABLE_NAMES,  
     SUBSTR(COLUMN_NAME,1,15)   COLUMN_NAME,  
       SUBSTR(CONSTRAINT_NAME,1,25) CONSTRAINT_NAME  
FROM USER_CONS_COLUMNS
WHERE TABLE_NAME = UPPER('TB_CODECD')
AND COLUMN_NAME = UPPER('CD_CODE')  

'ORACLE' 카테고리의 다른 글

EXPLAIN PLAN(실행계획  (0) 2004.10.15
Oracle Hint사용  (0) 2004.10.15
계층구조 쿼리의 예제  (0) 2004.10.15
계층 구조의 조회(Hierarchical Queries)  (0) 2004.10.15
EXECUTE IMMEDIATE를 이용한 Dynamic SQL  (0) 2004.10.15