본문 바로가기

DataBase/DBMS

9-2. 두개의 컬럼을 묶어서 PK 설정, 하나의 컬럼에 두가지 제약조건 설정

- 두 컬럼의 값이 둘 다 같이 중복이 되어야지 중복된 걸로 인지

 

CREATE TABLE EMP10(
EMPNO NUMBER,
ENAME VARCHAR2(20),
JOB VARCHAR2(20),
DEPTNO NUMBER,
LOC VARCHAR2(20) DEFAULT 'SEOUL'
);
ALTER TABLE EMP10
ADD CONSTRAINT EMP10_EMPNO_ENAME_PK PRIMARY KEY(EMPNO,ENAME);
INSERT INTO EMP10(EMPNO,ENAME,JOB,DEPTNO) VALUES(100,'LEE','IT',30);
INSERT INTO EMP10(EMPNO,ENAME,JOB,DEPTNO) VALUES(100,'PARK','IT',30);

 

- 두가지 제약 조건 설정 (UNIQUE NOT NULL)


JOB VARCHAR2(20) NOT NULL UNIQUE


JOB VARCHAR2(20) CONSTRAINT EMP_JOB_NN NOT NULL CONSTRAINT EMP_JOB_UK UNIQUE

CREATE TABLE EMP(
EMPNO NUMBER,
ENAME VARCHAR2(20),
JOB VARCHAR2(20) NOT NULL UNIQUE,
DEPTNO NUMBER,
);

-- OR

CREATE TABLE EMP(
EMPNO NUMBER,
ENAME VARCHAR2(20),
JOB VARCHAR2(20) CONSTRAINT EMP_JOB_NN NOT NULL CONSTRAINT EMP_JOB_UK UNIQUE,
DEPTNO NUMBER,
);