更新后触发器获取“错误的绑定变量”错误

时间:2017-12-06 10:48:06

标签: oracle triggers sql-update

在表PAND中将AFGEVINKT从0更改为1后,尝试在Oracle中创建更新表BGT_PAND_MUTATIE的触发器时:

CREATE OR REPLACE TRIGGER AU_BGT_PAND_MUTATIE
AFTER UPDATE OF AFGEVINKT ON BGT_PAND_MUTATIE 
FOR EACH ROW 

BEGIN 

   UPDATE PAND
   SET VRIJNUMMER1 = NULL  
   WHERE PAND.ID =: BGT_PAND_MUTATIE.ID;

END;

我收到以下消息:

Error(5,20): PLS-00049: bad bind variable 'BGT_PAND_MUTATIE.ID'

BGT_PAND_MUTATIE包含ID列和AFGEVINKT列。表格PAND包含IDVRIJNUMMER1列。

我需要做些什么来完成这项工作?

1 个答案:

答案 0 :(得分:2)

您目前有:

WHERE PAND.ID =: BGT_PAND_MUTATIE.ID;

=:中的冒号使以下标识符被视为绑定变量。你不能直接参考表格;你使用the NEW psdeudorecord

WHERE PAND.ID = :NEW.ID;