转自 http://9494.iteye.com/blog/48553
介绍:
通常情况下,表的主键都是自动增长的,在oracle中,用序列实现自增长比较适合.
1.建序列的格式:
CREATE SEQUENCE 序列名
INCREMENT BY 1
START WITH 100
MAXVALUE 99999999
NOMINVALUE
NOCYCLE
NOCACHE
NOORDER
GO
2.运用
1>查看序列值:
select 序列.nextVal (序列.currval) from dual
2>当向表中插入数据时:
insert into 表名 values(序列名.nextval,列1值,列2值, ...);
insert into表名(序列名.currval, 列1值,列2值...);
3> 在存储进程中,将该值取到一个参数中:
select序列名.nextval into 参数名 from dual;
然后在重用该序列号的地方调用这个参数。
实现方法2:(利用触发器)
create or replace trigger 触发器名
before insert or update on 表
for each row
begin
select 序列.nextval into :new.n from dual;
end;//一定有;
触发器已创建