근태 테이블에서 날짜와 사원번호를 결합하며 pk를 생성하고자 한다.
PK는 무결성 제약조건에 의해 유일성과 최소성을 만족해야 함으로 create table을 할 때, 각각의 컬럼에 PK를 설정하면 테이블이 생성되지 않는다.
따라서 각각의 컬럼에 PK를 주지 않고 constraint에서 primary key로 at_date, e_no를 넣어 둘 다 PK로 지정해주어야 한다.
create table ATTENDANCE (
at_date date,
e_no varchar2(50),
at_start date,
at_end date,
at_status varchar2(20),
reg_date date,
mod_date date,
reg_id varchar2(50),
mod_id varchar2(50),
constraint ATTENDANCE_PK primary key (at_date, e_no)
)
위 쿼리문으로 테이블을 생성하면 2개의 pk가 생성된 것을 볼 수 있다. 이 둘을 복합키로써 사용할 수 있다.