Database/Oracle
[ORACLE] 테이블 생성 CREATE 문 예 (제약조건)
붕어,짐
2022. 1. 15. 21:34
728x90
반응형
CREATE TABLE TEST_TABLE(
test_seq number(8) ,
test_id varchar2(10) NOT NULL UNIQUE,
create_date date DEFAULT SYSDATE ,
test_contents varchar2(13),
gender char(1) ,
CONSTRAINT PK_TEST_TABLE PRIMARY KEY (test_seq),
CONSTRAINT TEST_GENDER_CHECK CHECK(GENDER IN ('F','M'))
);
CREATE TABLE TEST (
seq_test NUMBER(8) PRIMARY KEY,
test_0 NUMBER(8) NOT NULL UNIQUE,
test_1 VARCHAR2(10) ,
test_2 VARCHAR2(20) NOT NULL,
test_3 CHAR(1) CHECK ( test_3 IN ('Y','N')),
test_4 DATE DEFAULT sysdate,
test_5 NUMBER(8) UNIQUE,
CONSTRAINT fk_test5_fk foreign key(test_5) REFERENCES TEST_TABLE(test_seq)
);
CREATE TABLE FOREIGN_TABLE ( -- FOREIGN KEY 사용 시 필요 테이블
VALUE5 VARCHAR2(10) PRIMARY KEY
);
CREATE TABLE TEST (
VALUE1 VARCHAR2(10) NOT NULL, -- NULL 값 들어오지 못하게 함
VALUE2 VARCHAR2(10) UNIQUE, -- NULL 허용, 중복 불가
VALUE3 VARCHAR2(10) PRIMARY KEY, -- NULL, 중복 불가
VALUE4 VARCHAR2(10) REFERENCES FOREIGN_TABLE (VALUE5),
-- FOREIGN KEY는 다른 테이블에서 PRIMARY KEY에 해당하고 해당 PRIMARY KEY 컬럼에 있는 값만 사용가능
VALUE5 VARCHAR2(10) CHECK(VALUE5 BETWEEN 1 AND 10), -- CHECK : 1과 10 사이의 값만 들어올 수 있음
VALUE6 VARCHAR2(10) CHECK(VALUE6 IN ('A', 'B')), -- CHECK : A 혹은 B만 들어올 수 있음
VALUE7 VARCHAR2(10) DEFAULT '홍길동' -- NULL 값이 들어올 경우 홍길동을 기본 삽입
);728x90
반응형
LIST