Как вставить данные из другой таблицы после удаления с помощью триггера - PullRequest
1 голос
/ 21 мая 2019

У меня есть стол сотрудников и стол, где мне нужно хранить тех, кто больше не работает. Мне нужно вставить сотрудников, удаленных в эту таблицу, с помощью триггера.

Я попробовал этот код, но не работает

CREATE TRIGGER EX4
   ON  EMPLOYEES
   AFTER delete
AS 
BEGIN
insert into BAIXES
values(@ID, 'deleted')
END

Это то, что говорится в упражнении (оно переведено, поэтому могут возникнуть проблемы с переводом.

Создайте триггер, который зарегистрируется в предыдущей таблице, рабочий, который удален из таблицы, работает. Данные работника должны быть сохранены, а переменные USER и SYSDATE. Триггер должен быть активирован ПОСЛЕ УДАЛЕНИЯ.

Ответы [ 2 ]

0 голосов
/ 21 мая 2019

В Oracle я бы ожидал что-то вроде этого:

CREATE TRIGGER EX4
   ON  EMPLOYEES
   AFTER delete
AS 
BEGIN
    insert into BAIXES ( . . . )        -- list columns to insert here
        values (:old.?, :old.?, . . . );  -- list columns here with :old prefix
END;
0 голосов
/ 21 мая 2019

Вы можете сделать это с помощью этой команды:

INSERT INTO BAIXES(ID, Field1, Field2, [others fields here])
SELECT ID, Field1, Field2, [others fields here] FROM DELETED
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...