ORA
0/26 완료

[1번]DEPARTMENTS 기본 키용 시퀀스를 생성하시오. (이름: dept_deptid_seq, 시작: 280, 증가: 10, 최대: 9999, NOCACHE, NOCYCLE)

결과 예시

Sequence created.

💡 키포인트

CREATE SEQUENCE 기본 구문. START WITH, INCREMENT BY, MAXVALUE, NOCACHE, NOCYCLE 옵션 지정.

[2번]USER_SEQUENCES 뷰로 dept_deptid_seq의 정보를 확인하시오.

결과 예시

DEPT_DEPTID_SEQ, 1, 9999, 10, 0, N, 280

💡 키포인트

USER_SEQUENCES 딕셔너리 뷰에서 시퀀스 정의 확인. LAST_NUMBER는 캐시 다음으로 디스크에 저장된 값.

[3번]dept_deptid_seq를 사용하여 DEPARTMENTS 테이블에 새 부서를 삽입하고, CURRVAL을 확인 후 ROLLBACK하시오.

결과 예시

1 row created. CURRVAL = 280. department_id=280인 Support 부서 확인.

💡 키포인트

NEXTVAL로 시퀀스 다음 값 사용. CURRVAL로 현재 값 확인. ROLLBACK으로 DML 취소해도 시퀀스는 복원되지 않음.

[4번]NEXTVAL을 세 번 연속 호출하고 각 값을 확인하시오. 세 번째 값과 CURRVAL이 같은지 확인하시오.

결과 예시

280 → 290 → 300 → CURRVAL = 300 (ROLLBACK 후 재호출 시 갭 발생)

💡 키포인트

NEXTVAL 연속 호출로 INCREMENT BY만큼 증가. CURRVAL은 현재 세션의 마지막 NEXTVAL 값과 동일.

[5번]직원 ID용 시퀀스를 생성하고, DEFAULT 값으로 사용하는 테이블을 만들어 데이터를 삽입하시오.

결과 예시

emp_id: 300, 301, 302로 자동 할당. emp_name과 hire_date도 출력.

💡 키포인트

Oracle 12c+ DEFAULT emp_seq.NEXTVAL로 INSERT 시 자동 ID 할당. emp_id 생략 시 시퀀스 값 자동 적용.

[6번]dept_deptid_seq 시퀀스를 수정하시오. (증가량 20으로, MAXVALUE 99999로 변경 후 확인)

결과 예시

Sequence altered. increment_by=20, max_value=99999로 변경. NEXTVAL 호출 시 20씩 증가 확인.

💡 키포인트

ALTER SEQUENCE로 INCREMENT BY, MAXVALUE 등 변경 가능. START WITH는 ALTER로 변경 불가.