티스토리 뷰
Sequence - 시퀀스 사용
시퀀스명.NEXTVAL
- 사용 가능한 다음 시퀀스 값 반환
시퀀스명.CURRVAL
- 현재 시퀀스 값, 즉 마지막 시퀀스 값 반환
1 2 | SELECT dept_id_seq.currval FROM dual; | cs |
daul
- 단순한 출력
에러뜨는 이유
- 시퀀스 방금 만들고 사용한 적이 없어서
- 즉, 마지막으로 사용한 시퀀스가 없다
→ 정의되어 있는 것이 없다
→ NEXTVAL이 사용되고 CURRVAL이 사용되어야 한다
1 2 | INSERT INTO departments VALUES (dept_id_seq.NEXTVAL, 'AAA', 205, 1700); | cs |
1 2 3 | SELECT * FROM departments ORDER BY department_id DESC; | cs |
1 2 | INSERT INTO departments (department_id, department_name) VALUES (dept_id_seq.NEXTVAL, 'BBB'); | cs |
1 2 3 | SELECT * FROM departments ORDER BY department_id DESC; | cs |
임시 데이터 상태
1 | COMMIT; | cs |
1 2 | INSERT INTO departments VALUES (dept_id_seq.NEXTVAL 'CCC', NULL, NULL); | cs |
1 2 3 | SELECT * FROM departments ORDER BY department_id DESC; | cs |
1 | ROLLBACK; | cs |
1 2 3 | SELECT * FROM departments ORDER BY department_id DESC; | cs |
INSERT 취소됨
1 2 | INSERT INTO departments VALUES (dept_id_seq.NEXTVAL, 'FFF', NULL, NULL); | cs |
1 2 3 | SELECT * FROM departments ORDER BY department_id DESC; | cs |
시퀀스는 ROLLBACK 해도 초기화되지않고 계속 이어진다 == 갭이 발생한다
INSERT 취소된 건 수동으로 넣어야한다
'부산 ITWILL 학원 실습 > ORACLE' 카테고리의 다른 글
[SQL 활용] 9. 데이터정의어(DDL) - Sequence - 시퀀스 삭제 (0) | 2018.08.09 |
---|---|
[SQL 활용] 9. 데이터정의어(DDL) - Sequence - 시퀀스 수정 (0) | 2018.08.09 |
[SQL 활용] 9. 데이터정의어(DDL) - Sequence - 시퀀스 생성 (0) | 2018.08.09 |
[SQL 활용] 9. 데이터정의어(DDL) - View - 뷰 삭제 (0) | 2018.08.09 |
[SQL 활용] 9. 데이터정의어(DDL) - View - 뷰 사용 (0) | 2018.08.09 |