oracle 创建触发器和序列实现Id自增

1创建表:

create table user(
  id number(4) not null primary key,
  name varchar(25),
  phone varchar(15),
  address varchar(50)
);

2、创建序列(一般以表名开始  格式:表名_seq):

create sequence user_seq
  increment by 1    --每次加几个
  startwith 1    --从1开始计数
  nomaxvalue    --不设置最大值
  nocycle    --直累加,不循环
  cache10 ; --是否缓存

  3、创建触发器tri_user:

写法一:

create trigger tri_user before insert
on user for each row when (new.id is null)

begin 

select user_seq.nextval into :new.id from dual;
end;

写法二:

create trigger tri_user before insert
on user for each row

begin 

select user_seq.nextval into :new.id from dual;
end;

4.插入数据时候直接插入剩余几列就可以,Id会自增

insert into user(name, phone, address) Values ('admin', 'admin', 'zhongguo');
posted @ 2017-06-03 11:42  烟雨观春柳  阅读(193)  评论(0)    收藏  举报