..
오라클에서 테이블의 제약조건 확인하기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
[출처] http://mostmax.egloos.com/3053351

일단 테이블에 어떤 제약조건이 걸려 있는지, 제약조건의 이름을 알아낸다.

SELECT table_name, constraint_name, constraint_type
        FROM   USER_CONSTRAINTS
        WHERE TABLE_NAME ='테이블명';


결과 ------------------------------

TABLE_NAME      CONSTRAINT_NAME    C
--------------   --------------------    -
TRS_RESERVE     TRS_RESERVE_PK      P



만약 특정 테이블에 걸려 있는 모든 제약조건을 알아보려면 다음을 실행한다.

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, A.CONSTRAINT_NAME   CONSTRAINT_NAME
        FROM  USER_CONS_COLUMNS  A,  USER_CONSTRAINTS  B  
        WHERE  A.TABLE_NAME = UPPER('&table_name')  
            AND  A.TABLE_NAME = B.TABLE_NAME  
            AND  A.CONSTRAINT_NAME = B.CONSTRAINT_NAME  
        ORDER BY 1;  



결과 ---------------------------------------

COLUMN_NAME   CONSTRAINT_TYPE   CONSTRAINT_NAME
--------------   -----------------       -------------------
CATGID             PRIMARY KEY            TRS_RESERVE_PK
COMPID             PRIMARY KEY            TRS_RESERVE_PK
RSID                 PRIMARY KEY            TRS_RESERVE_PK
RVID                 PRIMARY KEY            TRS_RESERVE_PK

'DEV > DB' 카테고리의 다른 글

null을 공백으로 처리  (0) 2010.07.13
oracle error code  (0) 2010.03.10
oracle procedure status invalid  (0) 2010.02.24
  Comments,     Trackbacks