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

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

최근 글

최근 댓글

hELLO · Designed By 정상우.
21종

종이의 코딩 공부방

Database/Oracle

[Oracle] CONSTRAINT(제약조건)_CHECK

2023. 7. 27. 23:18

* CHECK(조건식) 제약조건

해당 컬럼에 들어올 수 있는 값에 대한 조건을 제시해둘 수 있음
해당 조건에 만족하는 데이터값만 담길 수 있음

 

CREATE TABLE MEM_CHECK( 
    MEM_NO NUMBER NOT NULL, 
    MEM_ID VARCHAR2(20) NOT NULL UNIQUE,
    MEM_PWD VARCHAR2(20) NOT NULL,
    MEM_NAME VARCHAR2(20) NOT NULL,
    GENDER CHAR(3) CHECK (GENDER IN('남', '여')),
    PHONE VARCHAR2(13),
    EMAIL VARCHAR2(50)
    --CHECK(GENDER IN ('남', '여')) -- 테이블 레벨 방식
);
INSERT INTO MEM_CHECK VALUES(1, 'user01', 'pass01', '손흥민', '남', null, null);
INSERT INTO MEM_CHECK VALUES(2, 'user02', 'pass02', '이강인', 'ㄴ', null, null);
--ORA-02290: check constraint (DDL.SYS_C007146) violated
-- CHECK 제약조건에 위배됐기 때문에 오류 발생

INSERT INTO MEM_CHECK VALUES(2, 'user02', 'pass02', '이강인', null, null, null);
-- 만일 GENDER 컬럼에 데이터 값을 넣고자 한다면 CHECK 제약조건에 만족하는 값을 넣어야됨
-- NOT NULL 아니면 NULL 도 가능하긴함!!

INSERT INTO MEM_CHECK
VALUES (2, 'user03', 'pass03', '이승우', '여', null, null);
-- 회원번호가 동일해도 성공적으로 insert 돼버림 즉, 기본키를 사용해야된다

 

기본키 지정하는 방법

2023.07.28 - [IT/Oracle] - [Oracle] CONSTRAINT(제약조건)_PRIMARY KEY

 

[Oracle] CONSTRAINT(제약조건)_PRIMARY KEY

* PRIMARY KEY(기본키) 제약조건 => PK 테이블에서 각 행들을 식별하기 위해 사용될 컬럼에 부여하는 제약조건 (식별자의 역할) EX) 회원번호, 학번, 사원번호, 부서코드, 직급코드, 주문번호, 예약번호

e1jong.tistory.com

 

    'Database/Oracle' 카테고리의 다른 글
    • [Oracle] CONSTRAINT(제약조건)_FOREIGN KEY(외래키)
    • [Oracle] CONSTRAINT(제약조건)_PRIMARY KEY
    • [Oracle] CONSTRAINT(제약조건)_제약조건명 부여
    • [Oracle] CONSTRAINT(제약조건)_UNIQUE
    21종
    21종
    코딩 공부한 것 정리하려고 만든 블로그

    티스토리툴바