在数据表中,主键自增是很常用的,sql server,mysql都很方便,但是Oracle没提供这种机制,需要先创建一个自增序列,然后再为表的自增字段,创建触发器,方法是:
CREATE SEQUENCE Legal_Content_Sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;
create or replace trigger Legal_Content_trigger
before insert on HG_LE_Legal_Content
for each row
declare
nextid number;
begin
IF :new.id IS NULL or :new.id =0 THEN
select Legal_Content_Sequence.nextval
into nextid
from sys.dual;
:new.id:=nextid;
end if;
end Legal_Content_trigger;
--HG_LE_Legal_Content : 表名