ORACLE设置主键是不会自动增加的,这个和SqlServer是不一样的,在oracle中所以必须用 序列 和 触发器 来完成主键的递增。
1建立数据表
create table Test_Increase( userid number(10) primary key, /*建立主键*/ username varchar2(20) );
CREATE SEQUENCE TestIncrease_Sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 CACHE 10;
3创建触发器
CREATE TRIGGER Test_Increase BEFORE insert ON Test_Increase FOR EACH ROW begin select TestIncrease_Sequence.nextval into:New.userid from dual; end;
使用方法
insert into Test_Increase (username) values ('人员'); 正确
insert into Test_Increase values ('人员); 错误,没有足够的值
insert into Test_Increase (userid,username) values ('人员); 错误,没有足够的值