2008년 10월 21일 화요일

Oracle Sequence for Auto-Increment

Example Number 1 ...
    
create sequence product_seq start with 1 increment 1
/
create or replace trigger product_insert before insert for each row begin
select productseq.nextval
into :new.product_id
from dual;
end;
/

Example Number 2 ...
How to create an autoincrement field in a table with a sequence ...

SQLWKS> create table bob(a number , b varchar2(21));
Statement processed.

First create a sequence
SQLWKS> create sequence x ;
Statement processed.

Then create the trigger.
create trigger y before insert on bob
for each row
when (new.a is null)
begin
 select x.nextval into :new.a from dual;
end;
/

Example Number 3 ...
    First create a sequence:
 
create sequence emp_no_seq;
 
By default it increments by 1 starting at 0.
Use its values when inserting data into the table:
 
insert into t_emp values (emp_no_seq.nexval, 'Joe Black');

0 개의 댓글:

댓글 쓰기