Oracle 데이터베이스 생 성 표 ID 필드 자동 증가
--- 생 성 표
Create table t_user(
Id number(6),userid varchar2(20),loginpassword varchar2(20),isdisable number(6)
);
- 생 성 시퀀스
create sequence user_seq
increment by 1
start with 1
nomaxvalue
nominvalue
nocache
트리거 만 들 기
create or replace trigger tr_user
before insert on t_user
for each row
begin
select user_seq.nextval into :new.id from dual;
end;
테스트
insert into t_user(userid,loginpassword, isdisable)
values('ffll','liudddyujj', 0);
insert into t_user(userid,loginpassword, isdisable)
values('dddd','zhang', 0)
select * from t_user;
결 과 를 볼 수 있 습 니 다.
sequence 설명:
increment by: 시퀀스 증분 (기본 값: 1) 을 지정 하 는 데 사 용 됩 니 다. 정수 로 지정 하면 시리 얼 번호 가 자동 으로 증가 하고 마이너스 로 지정 하면 자동 으로 감소 합 니 다.
start with: 시퀀스 생 성기 생 성에 사용 되 는 첫 번 째 시퀀스 번 호 를 지정 합 니 다. 시퀀스 번호 순서 가 증가 할 때 기본 값 은 시퀀스 번호 의 최소 값 입 니 다. 시퀀스 번호 순서 가 감소 할 때 기본 값 은 시퀀스 번호 의 최대 값 입 니 다.
Maxvalue: 시퀀스 생 성기 가 생 성 할 수 있 는 최대 시퀀스 번호 (start with 보다 크 거나 같 아야 하 며 minvalue 보다 커 야 함) 를 지정 합 니 다. 기본 값 은 nomaxvalue 입 니 다.
Minvalue: 시퀀스 생 성기 가 생 성 할 수 있 는 최소 시퀀스 번호 (starr with 보다 작 거나 같 아야 하 며 maxvalue 보다 작 아야 함) 를 지정 합 니 다. 기본 값 은 nominvalue 입 니 다.
Cycle: 시퀀스 의 최대 값 이나 최소 값 에 도달 한 후에 시퀀스 번 호 를 계속 생 성 할 지 여 부 를 지정 합 니 다. 기본 값 은 nocycle 입 니 다.
Cache: 메모리 에서 미리 할당 할 수 있 는 시리 얼 번호 갯 수 를 지정 합 니 다 (기본 값: 20).
sequence 에서 주의해 야 할 것:
1. 첫 번 째 NEXTVAL 은 초기 값 을 되 돌려 줍 니 다.다음 NEXTVAL 은 사용자 가 정의 한 INCREMENT BY 값 을 자동 으로 증가 시 킨 다음 증가 한 값 을 되 돌려 줍 니 다.CURVAL 은 항상 현재 SEQUENCE 의 값 을 되 돌려 주지 만, 첫 번 째 NEXTVAL 이 초기 화 된 후에 야 CURVAL 을 사용 할 수 있 습 니 다. 그렇지 않 으 면 오류 가 발생 할 수 있 습 니 다.한 번 에 NEXTVAL 은 SEQUENCE 의 값 을 한 번 증가 시 킬 수 있 기 때문에 같은 문장 에 여러 개의 NEXTVAL 을 사용한다 면 그 값 은 다르다.
2. CACHE 값 을 지정 하면 ORACLE 는 메모리 에 sequence 를 미리 설치 하여 빨리 액세스 할 수 있 습 니 다.cache 에서 꺼 낸 후, Oacle 은 자동 으로 cache 로 한 그룹 을 더 가 져 옵 니 다.cache 를 사용 하면 데이터 베 이 스 를 갑자기 비정상적 으로 다운 (shutdown abort) 하면 cache 의 sequence 를 잃 어 버 릴 수 있 습 니 다. 따라서 create sequence 를 사용 할 때 nocache 로 이 를 방지 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 작업 은 Clob 또는 NClob 데이터 형식의 저장 프로 세 스 인 스 턴 스 를 포함 합 니 다.텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.