我已经处理这个问题一段时间了。我有一个表,其中有一列用作 ID,我需要一系列数字来识别每个数字。所以我在 Oracle 11g 中使用了 Identity 列功能,它工作正常,但是过了一会儿,当我插入一个新行时,我得到“ora-01400 cannot insert null into ...”错误,所以我去了并检查我的身份列是否仍然以这种方式“配置”,但事实并非如此。我不知道,我可能跳过了一步吗?
创建的序列的代码是:
CREATE SEQUENCE "ELABOR"."WF_CONF_SEQ4" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 981 CACHE 20 NOORDER NOCYCLE ;
这是触发器的代码:
create or replace TRIGGER WF_CONF_TRG4
BEFORE INSERT ON WF_CONF
FOR EACH ROW
BEGIN
<<COLUMN_SEQUENCES>>
BEGIN
IF INSERTING AND :NEW.ID IS NULL THEN
SELECT WF_CONF_SEQ5.NEXTVAL INTO :NEW.ID FROM SYS.DUAL;
END IF;
END COLUMN_SEQUENCES;
END;
有谁知道可能出了什么问题?我感谢您的帮助!祝你有美好的一天。