* 제약조건 부여시 제약조건명까지 지어주는 방법
> 컬럼 레벨 방식
CREATE TABLE 테이블명(
컬럼명 자료형 [CONSTRAINT 제약조건명]제약조건
컬럼명 자료형
);
> 테이블 레벨 방식
CREATE TABLE 테이블명{
컬럼명 자료형,
컬럼명 자료형,
...
[CONSTRAINT 제약조건명]제약조건(컬럼명)
);
CREATE TABLE MEM_UNIQUE(
MEM_NO NUMBER CONSTRAINT MEMNO_NN NOT NULL, -- 컬럼 레벨 방식
MEM_ID VARCHAR2(20) CONSTRAINT MEMID_NN NOT NULL,
MEM_PWD VARCHAR2(20) CONSTRAINT MEMPWD_NN NOT NULL,
MEM_NAME VARCHAR2(20) CONSTRAINT MEMNAME_NN NOT NULL,
GENDER CHAR(3),
PHONE VARCHAR2(13),
EMAIL VARCHAR2(50),
CONSTRAINT MEMID_UQ UNIQUE(MEM_ID) --> 테이블 레벨 방식
);
INSERT INTO MEM_UNIQUE VALUES(1, 'user01', 'pass01', '손흥민', null, null, null);
INSERT INTO MEM_UNIQUE VALUES(2, 'user01', 'pass02', '이강인', null, null, null);
--ORA-00001: unique constraint (DDL.MEMID_UQ) violated
-- UNUQUE 제약조건을 걸었기 때문에 같은 ID 값인 'user01'을 넣어줄 수 없다.