Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Aktualisieren Sie dieselbe Tabelle nach dem Insert-Trigger

Ich glaube nicht, dass UPDATE auf SOME_TABLE erlaubt ist, da es gerade mutiert.

Warum platzieren Sie es nicht direkt nach der INSERT-Anweisung, die den Trigger überhaupt ausgelöst hat?

INSERT INTO SOME_TABLE ...
update Some_Table set status = 'Y' where id = (select max(id) id  from Some_Table where status = 'N'); --Update Table that SMS has been sent

Ich denke, das wäre der richtige Ansatz, wenn man bedenkt, dass Sie in diesem UPDATE nichts Zeilenspezifisches tun.

Wie ich im Kommentar erwähnt habe, gibt es eine besondere Verwendung für diese letzte Anweisung im AFTER INSERT Abzug? Es hat eine Bedeutung im BEFORE INSERT auslösen.

select 'Y' into :new.status from dual;