달력

7

« 2020/7 »

  • 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
  •  

   

   

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';

  

 

Posted by codedragon codedragon

댓글을 달아 주세요