You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle AFTER INSERT触发器插入ZVIRE_SeznamZmen表时遇PLS-00049错误求助

解决AFTER INSERT触发器的PLS-00049错误

你的错误根源非常明确:触发器里引用了错误的绑定变量名。

原表ZVIRE的主键列是ID,但你在触发器中写了:NEW.ID_——这个ID_是目标表ZVIRE_SeznamZmen的列名,并非源表ZVIRE的列名,Oracle找不到这个绑定变量,因此抛出了PLS-00049错误。

另外补充说明:ZVIRE_SeznamZmen的ID_是主键,直接用:NEW.ID作为它的值是可行的,因为原表ZVIRE的ID本身是主键,不会出现重复值,能满足目标表主键的唯一性要求。

修正后的触发器代码

create trigger ZvireInsert 
AFTER insert on ZVIRE 
for each row 
begin
  insert into ZVIRE_SeznamZmen(ID_, NAZEV, DRUH, JMENO, ZMENA_DRUH, ZMENA_DATUM)
  VALUES(:NEW.ID, :NEW.NAZEV, :NEW.DRUH, :NEW.JMENO, 'Insert', SYSTIMESTAMP);
END;
/

关键修正点

  • 将:NEW.ID_改为:NEW.ID,对应源表ZVIRE的主键列
  • 保持其他:NEW.xxx变量与源表列名一致,确保数据正确映射

执行这个修正后的触发器,再向ZVIRE表插入数据就能正常触发写入操作了。

内容的提问来源于stack exchange,提问作者SItypack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:18:09