我创建了一个从 1 开始的序列,没有最大值我已经创建了一个自动插入主键的触发器,它在下面我还为表设置了一个约束,其中主键必须是唯一的并且不为空
create trigger MY_TEMP_TRIGGER
before insert on MY_TEMP
for each row
BEGIN
SELECT MY_TEMP_SEQ.nextval
INTO :new.Id
FROM DUAL;
END;
/
INSERT INTO my_temp
(Id,Type, CreateDT, TypeId, TempType, DevType, Msg, File,User, Src, SrcDev)
VALUES
(MY_TEMP_SEQ.nextval,3434,2843,2453,2392,435,2390,'pension.txt','rereee',454545,3434)
结果:
第 1 行的错误:
ORA-00001:违反了唯一约束 (USER.PK_MY_TEMP)
表 MY_TEMP 已经包含从 1 到 338 的值,来自 Id 字段
那么,我应该如何在触发器和插入语句中处理这个问题。