更新后触发器出现'bad bind variable'错误



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

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具有列IDAFGEVINKT列。表PAND具有列IDVRIJNUMMER1列。

我该怎么做才能完成这项工作?

您目前有:

WHERE PAND.ID =: BGT_PAND_MUTATIE.ID;

=:中的冒号使以下标识符被视为绑定变量。不过,您不会直接引用该表;您可以使用NEWpsdeudorecord:

WHERE PAND.ID = :NEW.ID;

最新更新