У меня есть таблица A, которая постоянно обновляется (вставляет операторы) одним приложением. Я хочу создать другую таблицу B, которая состоит всего из нескольких столбцов таблицы A. Для этого я подумал о создании триггера, который запускался после вставки в таблице A, но я не знаю, как написать инструкцию insert внутри триггера. Я не эксперт по базам данных, так что может быть, я пропустил что-то простое. Пожалуйста помоги.Создание триггера резервного копирования в Oracle
Вот мой триггер код:
CREATE OR REPLACE TRIGGER "MSG_INSERT_TRIGGER"
AFTER
insert on "ACTIVEMQ_MSGS"
DECLARE
PRAGMA AUTONOMOUS_TRANSACTION;
begin
execute immediate 'truncate table MSG_BACKUP';
insert into MSG_BACKUP select * from ACTIVEMQ_MSGS;
COMMIT;
end;
Почему 'ПРАГМА AUTONOMOUS_TRANSACTION;', или вы скопировали, что с какой-то другой код, не зная, что он делает? Вы действительно хотите обрезать таблицу резервного копирования и вставить все ACTIVEMQ_MSGS после каждой вставки? Является ли ваше фактическое требование вставить одну строку (с подмножеством столбцов) в 'MSG_BACKUP' после того, как в ACTIVEMQ_MSGS произошла вставка? – Phil
Привет, Фил, у тебя все получилось. Я скопировал его здесь и там. Да, я хочу вставить одну строку в MSG_BACKUP после того, как в ACTIVEMQ_MSGS произошла вставка. – user381878