У меня проблема с простой триггерной командой. Эта триггерная операция вставит значение в таблицу address_rit , когда человек, обучающийся в RIT, будет вставлен в таблицу person . Вот синтаксис для команды триггера:
CREATE OR REPLACE TRIGGER addr
AFTER INSERT ON person
FOR EACH ROW
WHEN (NEW.college = 'RIT')
BEGIN
INSERT INTO address_rit (name, address, state)
VALUES (NEW.name, NEW.address, (SELECT name FROM states WHERE NEW.statecode = states.statecode));
END;
/
Триггер скомпилирован, но с предупреждением. Однако дальнейшая проверка показывает, что триггер действительно имеет ошибку. Вот ошибка из компиляции.
PL/SQL: SQL Statement ignored ERROR
PL/SQL: ORA-00984: column not allowed here ERROR
Я почти уверен, что ошибка - просто синтаксическая ошибка, но я просто не могу найти решение. Дайте мне знать, если мне нужно добавить больше деталей. Большое спасибо за Вашу помощь.