创建sequence
CREATE SEQUENCE SEQUENCENAME
INCREMENT BY 1 -- 每次加几个
MINVALUE 10000 --设置最小值
MAXVALUE 99999 --设置最大值
--NOMAXVALUE -- 不设置最大值
START WITH 1 -- 从1开始计数
NOCYCLE -- 一直累加,不循环
--CYCLE -- 循环
NOCACHE -- 设置不缓存
--CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为NOCACHE
例子
create sequence test_6
minvalue 100000
maxvalue 999999
nocache
nocycle
start with 100000
increment by 1
删除序列
DROP SEQUENCE 序列名称;
触发器创建
create or replace trigger 触发器名称
before insert on 表名
for each row
declare
nextid number; --定义属性
begin
IF :new.自动增长字段名 IS NULL THEN
select 序列名.nextval
into nextid
from dual;
:new.自动增长字段名:=nextid;
end if;
end
例子:
create trigger trigger_test
before insert on users_test for each row
declare
nextid number;
begin
IF :new.mid IS NULL /*or :new.mid=0*/ THEN
select test_6.nextval
into nextid
/*into new.mid*/
from dual;
:new.mid:=nextid;
end if;
end
删除触发器
DROP trigger 触发器名称;