我手动创建了一个触发器(通过将SQL从另一个oracle db粘贴到管理控制台中)自动递增表的主键,当我在对象浏览器中查看触发器时触发器被列为无效
为什么会出现这种情况?
以下是重新创建触发器的SQL:
CREATE OR REPLACE TRIGGER "BI_AGENTEVENTDATA"
before insert on "AGENTEVENTDATA"
for each row
begin
select "AGENTEVENTDATA_SEQ".nextval into :NEW.ID from dual;
end; ;
/
ALTER TRIGGER "BI_AGENTEVENTDATA" ENABLE
/
答案 0 :(得分:2)
你确定序列存在并且可以被触发器使用吗?
试试这个:
select sequence_name from user_sequences;
答案 1 :(得分:0)
尝试没有“。”的触发器。换句话说:
CREATE OR REPLACE TRIGGER "BI_AGENTEVENTDATA"
before insert on "AGENTEVENTDATA"
for each row
begin
select AGENTEVENTDATA_SEQ.nextval into :NEW.ID from dual;
end; ;
/
ALTER TRIGGER "BI_AGENTEVENTDATA" ENABLE
/