기술 정보
home
채널 소개
home

데이터가 존재하는 테이블 NOT NULL 컬럼 추가 방법

문서 유형
기술 정보
분야
관리/환경설정
키워드
not null
컬럼 제약조건
1 more property

개요

데이터가 존재하는 테이블에 NOT NULL 조건을 ALTER TABLE ADD 컬럼으로 추가할 경우, 기존에 데이터가 있기 때문에 오류가 발생합니다.
기존 데이터가 있는 테이블에 NOT NULL 제약조건 컬럼을 안전하게 추가하는 방법을 설명합니다.

방법

DEAFULT 값을 같이 추가하는 방법

CREATE TABLE TEST (A NUMBER, B NUMBER); INSERT INTO TEST VALUES (10, ''); COMMIT; ALTER TABLE TEST ADD (C VARCHAR2(10) NOT NULL); // 기존에 데이터가 있어 오류발생 ALTER TABLE TEST ADD (C VARCHAR2(10) DEFAULT 'TEST' NOT NULL);
SQL
복사

컬럼 추가 후 Not Null 제약조건을 추가하는 방법

CREATE TABLE TEST (A NUMBER, B NUMBER); INSERT INTO TEST VALUES (10, ''); COMMIT; ALTER TABLE TEST ADD (D VARCHAR2(10)); ALTER TABLE TEST ADD CONSTRAINT D_NOT_NULL CHECK(D IS NOT NULL) NOVALIDATE;
SQL
복사
참고
NOVALIDATE 옵션: 기존 데이터들에 대해 체크하지 않는 옵션