13.07.2014 01:31, slu...@iquanta.com wrote:
>
> CREATE TRIGGER ROVMRS_AU FOR ROVMRS AFTER UPDATE
> AS
>      DEC LARE VARIABLE ff SMALLINT;
> BEGIN
> SELECT FIRING FROM TRIGGER_CONTROL WHERE EVENT = "GL_UPDATE" INTO :ff;
> IF ((OLD.GL = NEW.GL) AND (:ff = 0)) THEN BEGIN
>      IF (OLD.RCHARGE <> NEW.RCHARGE) THEN BEGIN
>          UPDATE ROMECH M SET M.RCHARGE = NEW.RCHARGE WHERE (M.IDIV =
> NEW.IDIV) AND (M.IRO = NEW.IRO) AND (M.IROVMRS = NEW.IC_ROVMRS);
>          UPDATE ROPART P SET P.RCHARGE = NEW.RCHARGE WHERE (P.IDIV =
> NEW.IDIV) AND (P.IRO = NEW.IRO) AND (P.IROVMRS = NEW.IC_ROVMRS);
>          END
>      EXECUTE PROCEDURE TRGR_UPDATE_PMEVENT_CURRENT(NEW.IDIV,NEW.IRO,"I");
>      END    /*IF ((OLD.GL = NEW.GL) A ND (:ff = 0))...*/
> END~

Did you search one step deeper, inside AFTER triggers for ROMECH and ROPART?

> so i don't get why firebird is throwing back this error nor do i
> understand how to address it.

You need to find an AFTER (supposedly AFTER UPDATE) trigger that assigns 
something into the NEW context.


Dmitry


  • [firebird-s... slu...@iquanta.com [firebird-support]
    • [fireb... Dmitry Yemanov dim...@users.sourceforge.net [firebird-support]
      • Re... slucas slu...@iquanta.com [firebird-support]

Reply via email to