더북(TheBook)

실행하면 다음과 같은 오류가 발생합니다.

 

오류 보고 -

SQL 오류: ORA-02290: check constraint (HR.EMP_SALARY_MIN) violated

02290. 00000 - "check constraint (%s.%s) violated"

*Cause: The values being inserted do not satisfy the named check

 

*Action: do not insert values that violate the constraint.

 

employees 테이블의 salary는 0을 초과하는 값만 허용하는데 0을 입력하려 하면 오류가 발생합니다.

앞의 employees 테이블과 departments 테이블의 예처럼 관계를 갖고 있는 테이블들은 각 속성에 대한 무결성을 유지하기 위한 다양한 제약 조건이 적용되어 있습니다. 여러분이 사용하는 데이터베이스의 제약 조건은 이미 데이터베이스를 설계할 때 설계자가 적용해 놓았을 것입니다. 단순 SELECT 문이 아닌 데이터를 삽입, 변경, 삭제할 때는 제약 조건을 확인하는 것이 매우 중요합니다.

이 책에서는 INSERT 명령어만으로 제약 조건을 위배하는 상황을 확인했지만 UPDATE 명령어나 DELETE 명령어를 사용할 때도 제약 조건의 준수 여부가 중요합니다. 무결성과 제약 조건은 데이터를 정상으로 유지하기 위한 장치이므로 DML 명령어를 사용하기 전에는 반드시 확인하기 바랍니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.