求大神解惑,oracle使用触发器,在插入的表中无数据时,报错(如下图),再执行就成功了,可是序列从2开始了,我想问下如何让它从1开始不报错
下面是触发器:
create or REPLACE trigger trigger_name
BEFORE insert on test
for each row
DECLARE
v_newVal NUMBER(12) := 0;
BEGIN
if(INSERTING AND :new.DEVICEBRAND_SK IS NULL) then
select sequence_p .nextval into v_newVal from DUAL;
if v_newVal = 1 THEN
SELECT NVL(max(devicebrand_sk),0) INTO v_newVal FROM test;
v_newVal := v_newVal + 1;
end IF ;
:new.devicebrand_sk := v_newVal;
end if;
end;
下面是序列:
create sequence sequence_p minvalue 1 maxvalue 999999999999999999999999 start with 1 increment by 1 cache 20;