1、生成序列
在Oracle中执行下面的程序,利用序列值作为主键
create sequence det_id
start with 1 --初始值为1
increment by 1 --递增1
maxvalue 9999999 --最大值
nocycle --达到最大值后不循环
2、修改插入sql
insert into det(id,xxx) values(det_id.nextval,xxx)
3、创建触发器
如果想不修改SQL语句(如下),自动插入主键,需要创建触发器,在Oracle中执行下面的语句。
insert into det(xxx) values(xxx)
create or replace trigger det_id_tri
before insert on det for each row
declare
begin
if :new.id is null then
select det_id.nextval into :new.id from sys.dual;
end if;
end det_id_tri;