Helios co.
Lt. Commander
- Registriert
- März 2005
- Beiträge
- 1.863
Hallo @ all,
mal wieder muss ich euch mit SQL Fragen belästigen. Diesmal schreibe ich einen Trigger, der bei einem INSERT feuern soll.
Und zwar habe ich eine Tabelle mit 2 numerischen Spalten der Art (ID | WERT). Bei einem INSERT soll nun geschaut werden, ob die ID bereits vorhanden ist. Falls dem so ist, soll der alte wert auf wert+1 gesetzt werden. Falls nicht, soll der INSERT ganz normal ausgeführt werden.
Was ich bis jetzt ausprobiert habe ist folgender Trigger:
Da kriege ich aber einen ORA-04085 Fehler.
Auch bringt mir das nicht so viel, da id fest gesetzt ist. Das soll natürlich der Wert aus dem INSERT rein.
Ich bin dankbar für jeden Rat!
mal wieder muss ich euch mit SQL Fragen belästigen. Diesmal schreibe ich einen Trigger, der bei einem INSERT feuern soll.
Und zwar habe ich eine Tabelle mit 2 numerischen Spalten der Art (ID | WERT). Bei einem INSERT soll nun geschaut werden, ob die ID bereits vorhanden ist. Falls dem so ist, soll der alte wert auf wert+1 gesetzt werden. Falls nicht, soll der INSERT ganz normal ausgeführt werden.
Was ich bis jetzt ausprobiert habe ist folgender Trigger:
Code:
create or replace trigger t4_test BEFORE INSERT OR UPDATE OF id ON t4
FOR EACH ROW DECLARE
BEGIN
IF :new.id = 3 then :old.wert := :old.wert+1;
END IF;
END;
/
Da kriege ich aber einen ORA-04085 Fehler.
Auch bringt mir das nicht so viel, da id fest gesetzt ist. Das soll natürlich der Wert aus dem INSERT rein.
Ich bin dankbar für jeden Rat!