USER_CONSTRAINTS 데이터 딕셔너리, 특정 테이블에 지정된 제약조건 검색하기

CODEDRAGON Development/Database

반응형

   

   

USER_CONSTRAINTS 데이터 딕셔너리

  • 제약조건을 위배하면, 오류 메시지에 제약 조건명만 출력되는데, 오라클이 부여한 제약 조건명으로는 어떤 제약 조건을 위반했는지 알 수 없기 때문에, USER_CONSTRAINTS 데이터 딕셔너리를 검색해야만 어떤 제약 조건인지 확인할 수 있습니다.
  • 사용자가 의미 있게 제약 조건명을 명시한다면 제약 조건명만으로도 어떤 제약 조건을 위배했는지 알 수 있게 됩니다.

   

DESC USER_CONSTRAINTS;

   

   

특정 테이블에 지정된 제약조건 검색하기

USER_CONSTRAINTS에서 특정 테이블에 지정된 제약 조건만을 살펴보기 위해서는 WHERE절내에 TABLE_NAM컬럼에 비교 연산자를 적용하여 테이블명을 반드시 작은 따옴표(') 안에 대문자로 기술해야 합니다.

SELECT 컬럼명

FROM USER_CONSTRAINTS

WHERE TABLE_NAME='테이블명';

  

   

컬럼명

설명

TABLE_NAME

테이블명

CONSTRAINT_NAME

제약조건명

CONSTRAINT_TYPE

기본키인지 외래키인지에 대한 정보

R_CONSTRAINT_NAME

FOREIGN KEY인 경우 어떤 PRIMARY KEY를 참조했는지에 대한 정보

STATUS

제약조건의 활성화/비활성화 상태 정보

   

   

SELECT TABLE_NAME, CONSTRAINT_NAME

FROM USER_CONSTRAINTS

WHERE TABLE_NAME='테이블명';

  

   

SELECT TABLE_NAME, CONSTRAINT_NAME

FROM USER_CONSTRAINTS

WHERE TABLE_NAME='EMP';