ORACLE 触发器错误

2024-01-09

我有一个性感的触发器,它从字段 REFERENT 中获取值,解析它,在某个视图中找到一行,并将一些数据填充到需要插入的原始行。然后我还重写 REFERENT 字段并消除额外的数据。

REFERENT 字段如下所示:“-XXX-123”,其中 123 是我在视图中搜索数据的键。希望这是有道理的。

CREATE OR REPLACE TRIGGER TRI_UPDATE
BEFORE INSERT
ON TBLASCENTOUTPUT_X
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
WHEN (
new.STEVILKA_NAROCILA is NULL
      )
DECLARE
    PARSED_STNAROC   VARCHAR(255);
    PARSED_PRIMARY_VALUE VARCHAR(255);
BEGIN

    PARSED_STNAROC := SUBSTR(NEW.REFERENT, INSTR(NEW.REFERENT, '-', -1, 1) + 1);
    PARSED_PRIMARY_VALUE := SUBSTR(NEW.REFERENT, 1, INSTR(NEW.REFERENT, '-', -1, 1) - 1);

    select distinct v.STNAROCILA, v.DATNAROCILA, v.SIFKUPCA, v.STPONUDBE, PARSED_PRIMARY_VALUE 
        into  :NEW.STEVILKA_NAROCILA, :NEW.DATUM_NAROCILA, :NEW.SIFRA_KUPCA, :NEW.STEVILKA_PONUDBE, :NEW.REFERENT
        from ARH_NAROC v
        where v.STNAROCILA = PARSED_STNAROC;

END;

我在编译时收到以下错误:

On line:  6
TRIGGER EASY.TRI_UPDATE
PLS-00201: identifier 'NEW.REFERENT' must be declared

请帮助。


前面漏掉了一个冒号字符NEW.REFERENT

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ORACLE 触发器错误 的相关文章

随机推荐