일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- MVC
- API
- Uipath
- Oracle
- 배열
- React
- Controller
- 자료구조
- SpringBoot
- Thymeleaf
- 조건문
- 상속
- JDBC
- Java
- Eclipse
- string
- mysql
- Array
- Board
- 이클립스
- html
- jsp
- Database
- rpa
- spring
- 문자열
- jquery
- db
- View
- Scanner
- Today
- Total
유정잉
Oracle [ SEQUENCE ] 본문
SEQUENCE 란 ? 값을 추가할 때 마다 기존에 있었던 테이블에 id 값중에 가장 큰걸 찾아서 가장 큰것에 1을 더한 행을 추가를 하는 것. 이때, SEQUENCE 사용, 장점은 값을 추가할때 1씩 증가가 되기에 값이 충돌할까 조마조마함 가질 필요 없다.
(SEQ_TOPIC.NEXTVAL, 'MongoDB ', 'MongoDB is ...', SYSDATE); SEQ_TOPIC이라고 하는 SEQUENCE 장치 안에 0이라는 숫자가 현재 있는 상태 그리고 우리가 거기에 .NEXTVAL 명령을 내리면 SEQUENCE라고 하는 기계는 자기가 갖고잇던 0이라는 숫자를 1을 증가시키고 그 값을 우리를 줘ㅏ서 SEQ_TOPIC.NEXTVAL값이 1이 된다
1. CREATE SEQUENCE SEQ_TOPIC; -> SEQUENCE의 이름은 SEQ, 이 SEQUENCE는 TOPIC을 위해서 사용됨.
2. SELECT SEQ_TOPIC.CURRVAL FROM topic; 우리가 현재 가지고 있는 SEQUENCE 의 현재 값이 뭔지 알고 싶을 때 사용하는 명령어 CURRVAL는current value 여기서 또 SEQ_TOPIC.NEXTVAL,를 하게 되면 시퀀스 값이 3 -> 4 가 됨 .
TIP) SELECT SEQ_TOPIC.CURRVAL FROM topic; 이런 식으로 코드를 짜면 topic 테이블에 있는 행에 갯수 만큼 똑같은 값들이 출력 되게 됨. topic 처럼 실제 데이터가 있는 걸 사용하면 애매해서 DUAL 이라는 가상의 테이블을 사용해도 됨.
SELECT SEQ_TOPIC.CURRVAL FROM DUAL; -> 되도록이면 이걸 사용해 주는 것이 좋음.
'Database > Oracle' 카테고리의 다른 글
Oracle [ 테이블 분해 , 조립 , JOIN ] (0) | 2024.02.15 |
---|---|
Oracle [ SQL Developer ] (0) | 2024.02.15 |
Oracle [ 행의 식별자 PRIMARY KEY ] (0) | 2024.02.14 |
Oracle [ 행 수정 , 행 삭제 ] (1) | 2024.02.14 |
Oracle [ 행읽기 READ , 행과 컬럼 제한하기 , 정렬과 페이징 ] (0) | 2024.02.14 |