ORA-01442: column to be modified to NOT NULL is already NOT NULL

ORA-01442: column to be modified to NOT NULL is already NOT NULL 오류는 다음과 같이 발생합니다. 컬럼을 NOT NULL로 설정하도록 변경하려고 시도할 때, 해당 컬럼이 이미 NOT NULL로 제약조건이 정의된 경우입니다.

ALTER TABLE USER_NAME.TABLE_NAME MODIFY COLUMN_NAME NOT NULL;

ERROR at line 1:
ORA-01442: column to be modified to NOT NULL is already NOT NULL

다시 말해, 해당 오류는 ALTER TABLE 문을 실행하여 테이블의 컬럼을 수정할 때, 이미 제약 조건이 있는 컬럼에 NOT NULL 제약 조건을 추가하려고 할 때 발생합니다.

ORA-01442: column to be modified to NOT NULL is already NOT NULL

ORA-01442 column to be modified to NOT NULL is already NOT NULL

이 오류를 해결하기 위한 별도의 조치는 필요하지 않습니다. 왜냐하면 컬럼이 이미 NOT NULL로 정의되어 있으므로 굳이 다시 NOT NULL로 설정할 필요가 없기 때문입니다.

다음은 제약조건을 확인하는 쿼리입니다.

SELECT CONSTRAINT_NAME, SEARCH_CONDITION
       FROM ALL_CONSTRAINTS
      WHERE OWNER = 'USER_NAME'
      AND TABLE_NAME = 'TABLE_NAME';

CONSTRAINT_NAME
------------------------------------------------------------
SEARCH_CONDITION
--------------------------------------------------------------------------------
SYS_C000000
"COLUMN_NAME" IS NOT NULL

댓글