oracle数据库不像mysql和sqlserver一样很方便的设置主键自增。 它使用<序列+触发器>的方式使数据表的一列或多列实现自增
首先我们创建自增序列:
create sequence emp_forensics
minvalue 1
nomaxvalue --不设置最大值
start with 1 --起使数字
increment by 1 --每次增加几个
nocache; --一直累加不循环
之后创建触发器:
create or replace trigger tri_test_id
before insert on T_EVI_FORENSICS --表名
for each row
declare
nextid number;
begin
select emp_forensics.nextval --emp_forensics正是刚才创建的序列
into nextid
from sys.dual;
:new.FO_UNID:=nextid;
end tri_test_id;
这样就可以在对表T_EVI_FORENSICS 插入数据时自动递增FO_UNID了。