티스토리 뷰

공부합시다/찍먹

[Oracle DBMS] SEQUENCE

신규_유저 2021. 5. 14. 10:42

SEQUENCE란?

- 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체

- 중복값을 방지하기위해 사용

 

 

--테이블 만들기
create table tbl_board( 
        bno number(10,0), 
        title varchar2(200) not null, 
        content varchar2(2000) not null, 
        writer varchar2(50) not null, 
        regdate date default sysdate,
        updatedate date default sysdate
        );

 

--시퀀스 만들기
create SEQUENCE seq_board;

이렇게 만들면 2부터 나오게 됨.

--시퀀스 1부터 시작되도록 만들기
CREATE SEQUENCE seq_board 
    increment by 1
    start with 0
    maxvalue 9999999
    minvalue 0;
--bno를 PRIMARY KEY로 수정
ALTER table tbl_board add constraint pk_board PRIMARY KEY(bno);
--내용 입력
INSERT INTO tbl_board (bno, title, content, writer)
VALUES(seq_board.nextval,'테스트 제목','테스트 내용','user00');

참고로 시퀀스 없이 insert 하게 될 경우

오류 이미지

이런 오류가 생긴다.

-- 입력된 내용 확인
SELECT *  FROM TBL_BOARD;
--시퀀스 값 변경

--시퀀스 1씩 깎기
ALTER SEQUENCE seq_board INCREMENT BY -1;

--시퀀스 조회
SELECT seq_board.nextval FROM DUAL;

--시퀀스 1씩 추가
ALTER SEQUENCE seq_board INCREMENT BY 1;

 

반응형
LIST
댓글
링크
공지사항
최근에 올라온 글