[Oracle] 오라클 컬럼 NOT NULL 추가, 제거 방법
- 데이터베이스/오라클
- 2024. 5. 11.
오라클에서 테이블 칼럼에 NOT NULL을 추가하거나 삭제하기 위해서는 ALTER TABLE 명령어를 사용하여 NOT NULL 속성을 변경하면 된다. 테이블에 데이터가 존재하는 상태에서 NOT NULL을 설정하기 위해서는 해당 칼럼에 NULL인 데이터가 없어야 칼럼의 속성을 NOT NULL로 변경할 수 있다.
목차 |
컬럼 NOT NULL 추가 방법
ALTER TABLE scott.emp MODIFY mgr NUMBER(4) NOT NULL;
ALTER TABLE [스키마명].[테이블명] MODIFY [칼럼명] [데이터 타입] NOT NULL;
ALTER TABLE 명령어를 사용하여 칼럼의 속성을 변경할 수 있다. NOT NULL을 설정할 때는 칼럼명 뒤에 기존에 설정된 데이터 타입도 함께 작성해 줘야 한다.
NOT NULL을 설정할 대는 해당 칼럼에 NULL인 데이터가 존재하면 오류가 발생한다. 오류를 방지하기 위해서는 아래의 방법으로 NULL 데이터를 찾아서 특정 값으로 UPDATE 후 NOT NULL을 설정해야 한다.
칼럼 NOT NULL 추가 시 주의 사항
ALTER TABLE scott.emp MODIFY mgr NUMBER(4) NOT NULL 오류 보고 - ORA-02296: (SYSTEM.) 사용으로 설정 불가 - 널 값이 발견되었습니다. |
해당 칼럼에 NULL인 데이터를 찾아서 UPDATE 후 ALTER TABLE 명령어를 사용하여 NOT NULL을 설정한다.
컬럼 NOT NULL 제거 방법
ALTER TABLE scott.emp MODIFY mgr NUMBER(4) NULL;
ALTER TABLE [스키마명].[테이블명] MODIFY [칼럼명] [데이터 타입] NULL;
ALTER TABLE 명령어를 사용하여 NOT NULL을 제거할 수 있다. NOT NULL을 제거할 때는 칼럼명 뒤에 기존에 설정된 데이터 타입도 함께 작성해 줘야 한다.
테이블 생성 시 NOT NULL 설정 방법
CREATE TABLE scott.emp
(
empno NUMBER(4) NOT NULL,
ename VARCHAR2(10),
job VARCHAR2(9),
mgr NUMBER(4) NOT NULL,
hiredate DATE,
sal NUMBER(7,2),
comm NUMBER(7,2),
deptno NUMBER(2)
)
데이블을 생성할 때 칼럼의 속성을 NOT NULL로 설정할 때는 데이터 타입 뒤에 NOT NULL을 선언한 후 테이블을 생성하면 된다. empno, mgr 칼럼에 NOT NULL이 선언된 것을 확인할 수 있다.