在oracle数据库中设置逐渐自增策略的方式有两种:
建表:
create table stu(
sid int primary key,
sname varchar(10),
sex int
)
1.使用序列实现自增
(1)创建序列
create sequence SEQ_Userinf
minvalue 1 --最小值
nomaxvalue --不设置最大值
start with 1 --从1开始计数
increment by 1 --每次加1个
nocycle --一直累加,不循环
nocache; --不建缓冲区
(2)插入数据
insert into test values (sid_sequence.nextval,'张三丰',1); --实现自增
2.创建触发器实现自增
(1)创建触发器
create or replace trigger stu_sid_trigger
before insert on stu for each row
begin
select sid_sequence.nextval into:new.sid from dual;
end;
before insert on stu
/*触发条件:当向表stu
执行插入操作时触发此触发器*/
for each row /*对每一行都检测是否触发*/
begin /*触发器开始*/
select sid_sequence
.nextval into :new.sid
from dual; /*触发器主题内容,即触发后执行的动作,在此是取得序列sid_sequence
的下一个值插入到表 stu
中的sid
字段中*/
end;
(2)插入数据
insert into stu(sname,sex) values('王五',1)
参考网站: