Posted
Filed under ORACLE

[원문] : http://jen.fluxcapacitor.net/geek/autoincr.html

1. 1씩 증가 시키기 위해서 test_seq라는 트리거를 생성한다.
create sequence test_seq
start with 1
increment by 1
nomaxvalue;


2. 테이블 생성
create table test (id number, testdata varchar2(255));


3. test 테이블에 있는 id에 insert가 되는 시점에 1씩 증가 시키기 위한 트리거 생성
    트리거를 하나 더 생성 하여 1에서 만든 test_seq 값을  test테이블에 id에 할당 한다.

 create trigger test_trigger
 before insert on test
 for each row
 begin
 select test_seq.nextval into :new.id from dual;
 end;

4. 트리거를 사용 하지 않을 경우
insert into test values(test_seq.nextval, 'voila!')
test.sql.nextval를 통하여 등록 한다.

2010/01/29 13:12 2010/01/29 13:12