SEQUENCE(시퀀스) :
SYNONYM(동의어) :
/*
시퀀스(sequence) : 연속적인 번호를 만들어주는 기능
구문형식
CREATE SEQUENCE sequence_name
[INCREMENT BY n] -- 시퀀스 번호의 증가값으로 기본값은 1
[START WITH n] -- 시퀀스 시작 번호로 기본값은 1
[MAXVALUE n | NOMAXVALUE] -- 생성 가능한 시퀀스 최대값
[MINVALUE n | NOMINVALUE] -- 시퀀스의 최소값을 설정 : CYCLE일 경우 새로 시작되는 값과 감소하는 시퀀스일 경우 최소값
[CYCLE | NOCYCLE] -- 시퀀스를 순화 사용할지를 설정
[CATCHE n | NOCATCHE] -- 시퀀스의 속도를 개선하기위해 캐싱여부 지정
*/
create sequence seq_serial_no
INCREMENT by 1
start with 100
MAXVALUE 110
MINVALUE 99
CYCLE
CACHE 2;
drop table good;
CREATE TABLE GOOD(
GOOD_NO NUMBER(3),
GOOD_NAME VARCHAR2(10)
);
SELECT * FROM GOOD;
INSERT INTO GOOD VALUES(SEQ_SERIAL_NO.NEXTVAL, '제품1'); --NEXTVAL : 다음 값
SELECT SEQ_SERIAL_NO.CURRVAL FROM DUAL; --현재값
INSERT INTO GOOD VALUES(SEQ_SERIAL_NO.NEXTVAL, '제품2'); --NEXTVAL : 다음 값
/
DECLARE
begin FOR i IN 103..120
LOOP
INSERT INTO GOOD VALUES(SEQ_SERIAL_NO.NEXTVAL, '제품'||i);
dbms_output.put_line(i);
END LOOP;
END;
/
SELECT * FROM GOOD;
set serveroutput on;
alter sequence seq_serial_no increment by -108 minvalue 0;
SELECT SEQ_SERIAL_NO.CURRVAL FROM DUAL; --현재값
alter sequence seq_serial_no increment by 1 minvalue 0;
'SQL' 카테고리의 다른 글
4월 3일 SQL 시험 (0) | 2018.04.02 |
---|---|
데이터 무결성 (0) | 2018.03.30 |
Role 역할 (0) | 2018.03.28 |
PROCEDURE (0) | 2018.03.27 |
EXISTS / NOT EXISTS (0) | 2018.03.15 |
댓글