본문 바로가기

개발/DB

[ORACLE] 오라클 ORA-02289: 시퀀스가 존재하지 않습니다.

 

 

오라클 오류

ORA-02289: 시퀀스가 존재하지 않습니다.

 

시퀀스를 만들지도 않고 시퀀스 쓸려고 해서 생기는 오류임.

 

오라클에서 mysql처럼 auto-increment를 구현하기 위해서는

시퀀스를 따로 생성해주어야 함.

 

사용할 시퀀스 이름을 SQ_CINDY라고 한다면,

 

DEFAULT 시퀀스 생성 하기

CREATE SEQUENCE SQ_CINDY;

 

옵션줘서 시퀀스 생성 하기

CREATE SEQUENCE SQ_CINDY

 increment by n   <== 증가값 (default 1)
 start with n   <== 시작값 (default 1)
 maxvalue n | nomaxvalue  <== 최고값 (nomaxvalue default 10*E27)
 minvalue n | nominvalue  <== 최소값 (nominvalue default 1)
 cycle | nocycle   <== 최소,최고값이후 값의 생성유무 (default nocycle)
 cache | nocache   <== 메모리에 유지할 값의 수 (default 20)

;

출처: https://jaehoon0210.tistory.com/entry/oracle-sequence-생성-삭제-조회 [김군...]

 

생성한 시퀀스가 잘 만들어졌는지 확인하면

전체 시퀀스로 SELECT 해서 방금 만든 시퀀스 찾아 보면 됨

SELECT * FROM USER_SEQUENCES;

 

 

마지막으로 시퀀스 삭제 하기

DROP SEQUENCE SQ_CINDY;

 

사용할 때는

INSERT문 안에서

시퀀스 컬럼의 VALUE 값을

SQ_CINDY.NEXTVAL 이렇게 주면 됨. (하나씩 증가시킨다는 가정하에)

 

 

 

알록달록 이쁘게 한다고 힘들었당.

 

 

반응형