oracle id自增笔记

来源:互联网 发布:吃宵夜知乎 编辑:程序博客网 时间:2024/04/20 03:02
--自定义一个序列(sequence):create sequence seq_tablename[increment by n][start with n][{maxvalue|minvalue n|nomaxvalue}][{cycle|nocycle}][{cache n|nocache}];--再创建一个触发器: create or replace trigger tr_seq_tablename   before insert on tablename   for each row begin   select seq_tablename.nextval into :new.id from dual; end; drop sequence seq_tablename     --删除序列drop trigger tr_seq_tablename; --删除触发器


例子:

--自定义一个序列(sequence):create sequence seq_tablenameincrement by 1 -- 每次加几个start with 1 -- 从1开始计数nomaxvalue -- 不设置最大值nocycle -- 一直累加,不循环nocache -- 不建缓冲区--再创建一个触发器:create or replace trigger tr_seq_tablename  before insert on tablename  for each row  when (new.id is null) --只有在id为空时,启动该触发器生成id号begin  select seq_tablename.nextval into :new.id from dual;end;




0 0
原创粉丝点击