Es folgt eine Dummy-Tabelle, auf der ich einige Aktualisierungen durchführe. Hier manipuliere ich nur die Spalte "NAME". Was ich brauche, ist die betroffene Zeile einzufügen, (sagen wir) ich ändere die zweite für "ID" -2, dann brauche ich, dass nur diese Zeile in eine neue Tabelle mit neuen/aktualisierten Wert eingefügt werden soll. Ich habe versucht, dies über einen Trigger zu tun, aber es gibt einen Fehler in Bezug auf Tabelle Mutation.So fügen Sie betroffene Zeilen in eine neue Tabelle ein
ID NAME
================
1 Vaz
2 Dan
3 Steve
Die Tabelle i die Daten will eingefügt werden hat die gleiche Struktur wie die oben erwähnte Tabelle und dieselben Spalten mit dem gleichen Datentyp.
Bitte schlagen Sie vor, ob dies auf eine andere Weise geschehen könnte oder ich schreibe einen falschen Code für den Auslöser. Hier ist der Code, den ich für den Zweck schrieb:
CREATE OR REPLACE TRIGGER HR.ins_temp
after UPDATE OF name ON HR.TEMP2 FOR EACH ROW
BEGIN
INSERT INTO temp3
(SELECT NAME
FROM temp2
WHERE (:new.NAME<>:old.NAME));
END;
temp2 ist die Manipulationstabelle und temp3 ist die neue.
arbeitete wie ein Charme, dank viel. aber was ist, wenn es viele Spalten gibt? Ich hätte sie immer noch separat erwähnen können, während – hashir
@hashir: Ja, Sie müssen das tun, so funktioniert eine SQL-Anweisung "einfügen". –
Vielen Dank für die Hilfe Bruder! – hashir