전체 방문자
오늘
어제
21종
종이의 코딩 공부방
21종
  • 분류 전체보기 (171)
    • JAVA (64)
    • Springboot (46)
      • 블로그만들기 (45)
    • Database (60)
      • Oracle (60)
    • 프로젝트 3 (CELOVER) (0)
    • 개발서버 구축 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Database/Oracle

[Oracle] CONSTRAINT(제약조건)_NOTNULL

2023. 7. 21. 21:33

< 제약조건 CONSTRAINTS >

    - 원하는 데이터값 (유효한 형식의 값) 만 유지하기 위해서 특정 컬럼에 설정하는 제약조건
    - 데이터 무결성 보장을 목적으로 한다!
    
    * 종류 : NOT NULL, UNIQUE, CHECK, PRIMARY KEY, FOREIGN KEY

* NOT NULL 제약조건

    해당 컬럼에 반드시 값이 존재해야만 할 경우 (즉, 해당 컬럼에 절대 NULL이 들어와서는 안되는 경우)
    삽입 / 수정시 NULL 값을 허용하지 않도록 제한
    
    제약 조건을 부여하는 방식은 크게 2가지가 있음 (컬럼레벨방식 / 테이블레벨방식)
    * NOT NULL 제약조건은 오로지 컬럼레벨방식 밖에 안됨 **

 

-- 컬럼레벨방식 : 컬럼명 자료형 제약조건

CREATE TABLE MEM_NOTNULL(
    MEM_NO NUMBER NOT NULL,
    MEM_ID VARCHAR2(20) NOT NULL,
    MEM_PWD VARCHAR2(20) NOT NULL,
    MEM_NAME VARCHAR2(20) NOT NULL,
    GENDER CHAR(3),
    PHONE VARCHAR2(13),
    EMAIL VARCHAR2(50)
);
INSERT INTO MEM_NOTNULL VALUES (1,'user01','pass01','손흥민','남',NULL, NULL);
INSERT INTO MEM_NOTNULL VALUES (2,'user02',NULL ,'이강인','여', NULL, 'AAA@NAVER.COM');
-- ORA-01400: cannot insert NULL into ("DDL"."MEM_NOTNULL"."MEM_PWD")
-- 의도했던대로 오류남!! (NOT NULL 제약조건에 위배되어 오류 발생)
INSERT INTO MEM_NOTNULL VALUES (2, 'user01', 'pass01', '이승우', null, null, null);
-- > 아이디가 중복되어있음에도 불구하고 잘 추가됨 ㅜ 즉, UNIQUE 제약조건 사용해야됨

 

UNIQUE 제약조건 부여하는 법

2023.07.24 - [IT/Oracle] - [Oracle] CONSTRAINT(제약조건)_UNIQUE

 

[Oracle] CONSTRAINT(제약조건)_UNIQUE

* UNIQUE 제약조건 해당 컬럼에 중복된 값이 들어가서는 안 될 경우 컬럼값에 중복값을 제한하는 제약 조건 삽입 / 수정시 기존에 있는 데이터값 중 중복값이 있을경우 오류 발생 !! 컬럼 레벨 방식

e1jong.tistory.com

 

    'Database/Oracle' 카테고리의 다른 글
    • [Oracle] CONSTRAINT(제약조건)_제약조건명 부여
    • [Oracle] CONSTRAINT(제약조건)_UNIQUE
    • [Oracle] DDL(1) - CREATE
    • [Oracle] JOIN 및 subquery 실습문제
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바