Я пытаюсь создать триггер, который при удалении строки из таблицы вставляется в другую таблицу:
1 Create Or Replace Trigger cancel
2 After Delete
3 On OrderTable
4 For EACH ROW
5 Begin
6 Insert Into CancelledOrders Values (:old.acctNum, age, phone)
7 From OrderTable Natural Join Customer
8 Where acctid = :old.acctNum AND menuid = :old.menuNum;
9 End;
10 /
11 Show Errors;
Я хочу получить acctNum
, age
и phone
. acctNum
из таблицы Order, а age
и phone
из таблицы Customer. Поэтому я соединяю две таблицы (по ключу acctid
). Таким образом, объединенный результат будет выглядеть так:
acctNum Age Phone
Я получаю эту ошибку, когда пытаюсь скомпилировать триггер:
2/2 PL/SQL: SQL Statement ignored
3/2 PL/SQL: ORA-00933: SQL command not properly ended
Кто-нибудь знает проблему?
EDIT: Структура таблицы:
Таблица заказов: AcctNum MenuNum startOrder endOrder
Таблица клиентов: AcctNum age phone