Problem z triggerem w Oracle

0

Hej,

mam problem z triggerem na Oraclu. Mój trigger wygląda mniej więcej tak:

create or replace
TRIGGER TRIG_NAME
BEFORE
INSERT OR UPDATE
ON SOME_TABLE
FOR EACH ROW
WHEN (
     old.someid is null                         -- 1
)
BEGIN
  IF :old.someid is null THEN             -- 2
    :new.anothercolumne:= 'amazing text';
  END IF;
END;

Problem polega na tym, że przy wstawianiu nowego rekordu do tabeli warunek pierwszy, ten w WHEN, nie działa - wartość old.someid z jakiegoś powodu pokazuje jako not null, natomiast warunek drugie, ten w IFie działa.
Problem wystepuje tylko wtedy kiedy insert nastepuje przez blok MERGE INTO.
Czy ktoś wie, czemu w WHEN old.someid jest wykrywana jako wartość nie null?
Z góry dziękuję za pomoc.

pozdrawiam serdecznie,
Antek

0

Skoro w pierwszym warunku pokazuje not null, to jak w ogóle wchodzi do tego drugiego?

0

Ttu podałem jako przykłąd te warunki, żeby było wiadomo o jakie chodzi. Oczywiście jakbym uruchomił to w ten sposób to by nie doszło do drugiego sprawdzania warunku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1