Cracking Code

SQL - CHECK 본문

Database

SQL - CHECK

CrackCo 2020. 7. 21. 19:24
데이터를 DB에 저장할 때 원하는 값만 들어오게끔 필터링을 하고 싶다면?
CHECK 제약 조건에 대해 알아봅시다!
-- COLUMN LEVEL
column datatype [CONSTRAINT constraint_name] CHECK(조건)

-- TABLE LEVEL
[CONSTRAINT constraint_name] CHECK (column 조건)

예를 들어 '남자' 또는 '여자'인 값만 받고 싶을 땐 조건 절에 해당 컬럼명과 조건 연산을 입력해주면 됩니다.

 

S_NO / NUMBER(2), S_NAME / VARCHAR2(10), S_SAL NUMBER(10)을

컬럼으로 가지고 S_SAL엔 500 밑의 값만 들어올 수 있도록 제약 조건을 걸어

SAWON7 테이블을 만들어 봅시다.

-- COLUMN LEVEL 선언 시
CREATE TABLE SAWON7(
    S_NO NUMBER(2),
    S_NAME VARCHAR2(10),
    S_SAL NUMBER(10)
        CONSTRAINT SAWON7_S_SAL_CK CHECK(S_SAL < 500)
);

-- TABLE LEVEL 선언 시
CREATE TABLE SAWON7(
    S_NO NUMBER(2),
    S_NAME VARCHAR2(10),
    S_SAL NUMBER(10),
    CONSTRAINT SAWON7_S_SAL_CK CHECK(S_SAL < 500)
);

SAWON7 테이블이 성공적으로 생성되었으니 제약 조건이 잘 걸리는지 테스트해볼까요?

INSERT INTO SAWON7
VALUES(1, 'WOOZYA', 600);

600은 500보다 크기 때문에 CHECK 제약에 걸려 오류가 발생하는 모습입니다!

'Database' 카테고리의 다른 글

SQL - DROP TABLE  (0) 2020.07.21
SQL - FOREIGN KEY (외래키)  (0) 2020.07.21
SQL - UNIQUE KEY (유니크 키)  (0) 2020.07.21
SQL - PRIMARY KEY (기본키)  (0) 2020.07.21
SQL - 제약 조건  (0) 2020.07.21
Comments