Ниже приведена фиктивная таблица, на которой я выполняю некоторые обновления. Здесь я манипулирую только столбцом «NAME». Мне нужно вставить затронутую строку (скажем), я изменяю вторую для «ID» -2, тогда мне нужно, чтобы только эта строка должна была вставлена в новую таблицу с новым/обновленным значением. Я попытался сделать это с помощью триггера, но он вырвал ошибку в отношении мутации в таблице.Как вставить затронутые строки в новую таблицу
ID NAME
================
1 Vaz
2 Dan
3 Steve
В таблице я хочу данные, чтобы вставить имеет ту же структуру, что и выше упомянутой таблицы и тех же колонках с таким же типом данных.
Просьба предложить, если это можно сделать любым другим способом или я пишу неправильный код для триггера. Вот код, который я написал для этой цели:
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 - это панель управления, а temp3 - новая.
работал как шарм, спасибо большое. но что, если есть много столбцов? я все равно упомянул бы их отдельно, вставляя – hashir
@hashir: да, вам нужно будет это сделать, вот как работает SQL 'insert'. –
Большое вам спасибо за помощь брату! – hashir