ORACLE触发错误 [英] Error on ORACLE trigger

查看:111
本文介绍了ORACLE触发错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个性感的触发器,它从字段REFERENT中获取一个值,对其进行解析,在某些视图中找到一行,并将一些数据填充到需要插入的原始行中.然后,我还重新编写了REFERENT字段并消除了多余的数据.

I have this sexy trigger, that takes a value from a field REFERENT, parses it, finds a row in some view and fills some data to original row that needs to be inserted. I also then re-write the REFERENT field and eliminate the extra data.

参考"字段如下所示:-XXX-123",其中123是我在视图中搜索数据的键.希望有道理.

The REFERENT field looks like this: "-XXX-123", where 123 is the key that i search data in the view. Hope it makes sense.

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;

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

I am getting the following error on compile:

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

请帮助.

推荐答案

NEW.REFERENT

这篇关于ORACLE触发错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆