NOT NULL
컬럼명 데이터타입 NOT NULL
앞의 NULL에서 설명했듯이, 컬럼을 정의할 때 NOT NULL 제약조건을 명시하면 해당 컬럼에는 반드시 데이터를 입력해야 한다.
즉 반드시 값이 들어 있어야 하는 컬럼에는 NOT NULL 제약조건을 만들어 사용한다.
CREATE TABLE ex2_6 (
COL_NULL VARCHAR2(10),
COL_NOT_NULL VARCHAR2(10) NOT NULL
);
table EX2_6이(가) 생성되었습니다.
INSERT INTO ex2_6 VALUES ('AA', '');
SQL 오류: ORA-01400: NULL을 ("ORA_USER"."EX2_6"."COL_NOT_NULL") 안에 삽입할 수 없습니다.
INSERT INTO ex2_6 VALUES ('AA', 'BB');
1개 행 이(가) 삽입되었습니다.
제약조건은 컬럼 속성처럼 보이지만 하나의 데이터베이스 객체이므로
고유의 이름이 있는데 별도로 이름을 명시하지 않으면 오라클에서 자동으로 생성해 준다.
사용자가 생성한 제약조건은 USER_CONSTRAINTS 시스템 뷰에서 확인할 수 있다.
SELECT constraint_name, constraint_type, table_name, search_condition
FROM user_constraints
WHERE table_name = 'EX2_6';
CONSTRAINT_NAME CONSTRAINT_TYPE TABLE_NAME SEARCH_CONDITION
--------------- --------------- ---------- --------------------------
SYS_C0011298 C EX2_6 "COL_NOT_NULL" IS NOT NULL
ex2_6 테이블의 col_not_null 컬럼에 부여한 NOT NULL 제약조건이 SYS_C0011298란 이름으로 생성됐음을 확인할 수 있다.
'oracle' 카테고리의 다른 글
제약조건 _Primary key (0) | 2021.04.01 |
---|---|
제약조건 _UNIQUE (0) | 2021.04.01 |
NULL과 제약조건 (0) | 2021.04.01 |
데이터 타입 _LOB (0) | 2021.04.01 |
데이터 타입 _날짜 (0) | 2021.04.01 |