Trigger after insert on
Hallo zusammen,
ich habe ein kleines Problemchen, bei dem es mich schon sehr wundert, dass ich es nicht alleine lösen kann.
Vielleicht könnt ihr mir helfen, mir die Schuppen von den Augen zu nehmen!
Mein Problem:
-Oracle Datenbank
-Trigger greift nach dem Einfügen einer neuen Zeile
Trigger läuft soweit auch schön ordentlich durch, jetzt möchte ich jedoch die neu eingefügten Datensätze weiterverarbeiten,
mit einem erneuten "INSERT INTO" in eine neue Tabelle.
:NEW und :OLD sind jedoch leider nicht möglich...
Wie lautet dieser blöde Befehl??
Vielen Dank euch!
ich habe ein kleines Problemchen, bei dem es mich schon sehr wundert, dass ich es nicht alleine lösen kann.
Vielleicht könnt ihr mir helfen, mir die Schuppen von den Augen zu nehmen!
Mein Problem:
-Oracle Datenbank
-Trigger greift nach dem Einfügen einer neuen Zeile
Trigger läuft soweit auch schön ordentlich durch, jetzt möchte ich jedoch die neu eingefügten Datensätze weiterverarbeiten,
mit einem erneuten "INSERT INTO" in eine neue Tabelle.
:NEW und :OLD sind jedoch leider nicht möglich...
Wie lautet dieser blöde Befehl??
Vielen Dank euch!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 118462
Url: https://administrator.de/contentid/118462
Ausgedruckt am: 14.11.2024 um 11:11 Uhr
6 Kommentare
Neuester Kommentar
Hallo,
am besten ein kleines Beispiel
Gruß René
am besten ein kleines Beispiel
TRIGGER assist_art_after
after update or insert or delete on assist_art
for each row
declare
key_c varchar2(1);
begin
if inserting then
aend_art := 'I';
key_c := :new.KEY;
insert into log_tabelle
values(key_c, :new.BEZEICHNUNG);
elsif updating then
aend_art := 'U';
key_c := :new.KEY;
update log_tabelle
set T8115_ASSISTENTENART = :new.BEZEICHNUNG
where T8115_ASS_ARTEN_SCHLUESSEL = key_c;
elsif deleting then
aend_art := 'D';
key_c := :old.KEY;
delete from log_tabelle
where T8115_ASS_ARTEN_SCHLUESSEL = key_c;
else null;
end if;
end assist_art_after;
Gruß René
Hallo,
na dann poste doch mal Dein Beispiel.
Gruß René
na dann poste doch mal Dein Beispiel.
Gruß René
Moin NanaBama,
Du schreibst (und glaubst wahrscheinlich auch)
Bei einem Table-Trigger (sprich: der feuert, wenn tabelle xy upgedated oder dorthin inserted wird) sind logischerweise keine :New/:Old-Referenzen erlaubt.
Grüße
Biber
[Edit] Upps, hat sich zeitlich mit NanaBamas Kommentar überschnitten....
Aber wie geschrieben - da ist kein "FOR EACH ROW", das ist gar kein Row-Trigger.
[/Edit]
Du schreibst (und glaubst wahrscheinlich auch)
Trigger greift nach dem Einfügen einer neuen Zeile
... aber nichtsdestotrotz ist Dein Trigger mit Sicherheit ein "Table-Trigger" und kein "row-Trigger" wie der in Bolle97s Beispiel.Bei einem Table-Trigger (sprich: der feuert, wenn tabelle xy upgedated oder dorthin inserted wird) sind logischerweise keine :New/:Old-Referenzen erlaubt.
Grüße
Biber
[Edit] Upps, hat sich zeitlich mit NanaBamas Kommentar überschnitten....
Aber wie geschrieben - da ist kein "FOR EACH ROW", das ist gar kein Row-Trigger.
[/Edit]