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

+ Recent posts