0
我有这个性感的触发器,它从字段REFERENT中取值,解析它,在某个视图中找到一行,并将一些数据填充到需要插入的原始行。然后我重新编写REFERENT字段并消除额外的数据。ORACLE触发器上的错误
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
请帮助。
我不明白:) – no9 2013-03-21 08:31:17
啊其明确的...忘了冒号字符被遗漏:NEW_REFERENT – no9 2013-03-21 08:33:13