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