간단 한 세 단계 로 ORACLE 필드 자체 증 가 를 쉽게 실현 합 니 다.

첫 번 째 단계:시 계 를 만 듭 니 다
 
create table Test_Table
(
ID number(11) primary key,
Name varchar(50) not null,
Value1 varchar(50) not null
)
두 번 째 단계:호출 함 수 를 제공 하기 위해 자체 증가 서열 을 만 듭 니 다
 
create sequence AutoID
start with 1 //
increment by 1 //
minvalue 1
nomaxvalue
사실 이 절 차 는 필드 자체 증 가 를 실현 할 수 있다.기록 을 추가 할 때 다음 코드 를 보십시오
 
Insert into Test_Table(ID,Name,Value1)values(AutoID.nextval,'xiyang','blog')
세 번 째 단계:우 리 는 트리거 를 만들어 서 호출 하 는 방식 을 더욱 간단하게 합 니 다
 
create trigger AutoID_Trigger

before insert on Test_Table for each row
begin
select AutoID.nextval into :new.ID from dual;
end AutoID_Trigger;
이 트리거 는 데이터베이스 에 표 의 검색 을 등 록 했 습 니 다.즉,지정 표 TestTable 이 기록 을 삽입 하기 전에 우 리 는 시퀀스 방법의 nextval 을 호출 하여 새로운 값 을 얻 고 증가 필드 를 삽입 합 니 다.트리거 에서 우 리 는 시스템 가상 표 dual 을 호출 했 습 니 다.이 표 는 시스템 표 의 일부분 으로 내부 에 하나의 기록 만 저장 되 어 있 습 니 다.우 리 는 이 표를 통 해 시스템 과 관련 된 정 보 를 얻 거나 간단 한 논리 조작 을 할 수 있 습 니 다.이 트리거 에서 우 리 는 dual 의 전형 적 인 용법,즉 정 의 된 서열 을 가 져 오 는 nextval 방법 을 사용 했다.위의 세 단 계 를 통 해 우 리 는 표 의 필드 가 증가 하 는 것 을 실현 했다.삽입 작업 을 할 때 다음 과 같은 코드 를 실행 하면 된다.Insert into TestTable(Name,Value 1)values('xiang','blog')는 데이터베이스 에서 결과 집합 을 조회 하면 ID 열 이 자동 으로 증가 하 는 것 을 발견 할 수 있 습 니 다.특히 데이터베이스 조작 에 서 는 트리거 사용 에 따 른 시스템 자원 소모 가 상대 적 으로 크다.만약 표 용량 이 상대 적 으로 작은 표 에 대해 우 리 는 트리거 가 가 져 온 성능 영향 을 무시 할 수 있다.큰 시계 조작 의 성능 문 제 를 고려 하여 우 리 는 가능 한 한 트리거 의 사용 을 줄인다.위 와 같은 조작 에 대해 우 리 는 트리거 의 사용 을 버 리 고 서열 함 수 를 직접 수 동 으로 호출 하면 됩 니 다.그러면 프로그램 유지 에 약간의 불편 을 가 져 올 수 있 습 니 다.

좋은 웹페이지 즐겨찾기