CREATE SEQUENCE 시퀸스이름
START WITH 1000 -- 시작 id
INCREMENT BY 1 -- 시퀸스 번호가 1씩 증가하도록 함
NOCACHE; -- 메모리에 시퀸스값을 미리 할당하지 않아
-- 비정상 DB종료시 Id번호가 건너띄어 져서 저장되지 않음.
-- 1. 유저 기본 테이블용 시퀀스
CREATE SEQUENCE users_seq
START WITH 1
INCREMENT BY 1
NOCACHE;
-- 2. 유저 자격증 테이블용 시퀀스
CREATE SEQUENCE user_cert_seq
START WITH 1
INCREMENT BY 1
NOCACHE;
INSERT INTO users_t (
user_id, user_name, user_email, user_password, user_age, user_gender,
user_state, user_grade, user_university_id, user_roadmap,
user_credit_avg, user_major_credits_avg
) VALUES (
users_seq.NEXTVAL,
:user_name, :user_email, :user_password, :user_age, :user_gender,
:user_state, :user_grade, :user_university_id, :user_roadmap,
:user_credit_avg, :user_major_credits_avg
);
INSERT INTO user_certificates (user_certificate_id, user_id, certificate_id, issue_date, expiration_date, certificate_number, score)
VALUES (user_cert_seq.NEXTVAL, users_seq.CURRVAL , :cert_id, :issue_date, :exp_date, :cert_num, :cert_score);
여기서 nextval을 사용하면 기존 id에서 +1을 해주고, currval을 사용하면 현재의 id값을 가져올 수 있다.