반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- ID중복
- 스레드그룸
- 상관서브쿼리
- StringWriter
- String char[] 형변환
- 표현 언어
- Daemon()
- char[] String 형변환
- interrupted()
- Linux세팅
- 메모리스트림
- 리눅스셋팅
- Linux셋팅
- 상관 서브 쿼리
- isinterrupted()
- ObjectInputStream
- ThreadGroup()
- interrupt()
- first-child
- 아이디중복
- StringReader
- first-of-child
- InputDialog
- MemoryStream
- include 지시자
- include지시자
- 동기화
- sleep()메소드
- include액션태그
- 리눅스세팅
Archives
- Today
- Total
다연이네
[days13] Sequence(시퀀스) 본문
반응형
시퀀스 (일련번호를 부여하는 테이블)
== 은행의 번호표 기기
- 시퀀스란 기존의 테이블에 대해 기본키나 유니크 키를 사용하여 부가하는 일종의 새로운 컬럼처럼 사용할 수 있는 일련번호를 매김하기 위한 하나의 컬럼으로 구성된 테이블과 같다.
- 시퀀스라는 객체 스스로만 사용할 의미가 없으며, 기존의 테이블과 연계해서 사용하게 된다.
【형식】
CREATE SEQUENCE 시퀀스명
[ INCREMENT BY 정수] 증가치
[ START WITH 정수] 시작값
[ MAXVALUE n ? NOMAXVALUE] 100
[ MINVALUE n ? NOMINVALUE] 1 --start with값과 minvalue의 차이 ? dept50 추가시 최소10부터 시작하지만 50부터 뽑아야 한다 (50:start with / 10:minvalue)
[ CYCLE ? NOCYCLE]
[ CACHE n ? NOCACHE];
1. 시퀀스 생성
create sequence seq_dept
increment by 10
start with 50
nocache;
--10씩 증가하는 시퀀스, 50부터 시작
2. 시퀀스 삭제
drop sequence seq_dept;
3. 시퀀스 목록 확인
select *
from user_Sequences
where sequence_name like 'SEQ_DE%';
4. currval, nextval
해당 시퀀스의 값을 증가시키고 싶다면 testSeq.NEXTVAL
현재 시퀀스를 알고 싶다면 testSeq.CURRVAL
currval 사용하기 전에 nextval이 있어야 한다. => 순서 : nextval -> currval
INSERT INTO dept(deptno,dname,loc)
VALUES(seq_dept.NEXTVAL,'DEVELOP','COREA'); --nextval : 다음 번호표를 하나 뽑겠다는 의미
select seq_dept.currval
from dual;
활용 예
- 설문조사 테이블에 새로운 질문 (이번주 비대면 수업 찬성 ? 예/아니오/기권 )이 들어가질때 자동 순번 매기기
--각각 survey, list 테이블에 시퀀스 2개 만들어야 한다
create sequence seq_tbl_survey
increment by 1
start with 3
nocache;
create sequence seq_tbl_list
increment by 1
start with 8
nocache;
insert into tbl_survey values
(seq_tbl_survey.nextval, 'kim', '이번주 비대면 수업 찬성 ?', 0, sysdate, sysdate+1, sysdate+2, '시작전');
insert into tbl_list values(seq_tbl_list.nextval, seq_tbl_survey.currval, '예', 0);
insert into tbl_list values(seq_tbl_list.nextval, seq_tbl_survey.currval, '아니오', 0);
insert into tbl_list values(seq_tbl_list.nextval, seq_tbl_survey.currval, '기권', 0);
반응형
'Oracle' 카테고리의 다른 글
[days14] PL/SQL 예제 (0) | 2020.11.17 |
---|---|
[days13] PL/SQL, 익명 프로시저 (0) | 2020.11.16 |
[days12] View (2) | 2020.11.13 |
[days10] 데이터베이스 모델링 (0) | 2020.11.11 |
[days10] join 사용하기 + SELF JOIN (0) | 2020.11.11 |
Comments