Я попытался воссоздать триггер с помощью приведенных выше утверждений. Утверждения не прошли с несколькими ошибками, похоже, что они не были проверены, прежде чем опубликовать их в качестве вопроса. Пожалуйста, найдите время, чтобы задать вопрос о качестве. Пример:
CREATE TABLE room (
num_room CHAR(100) NOT NULL,
type VARCHAR2(100) NOT NULL, << this trailing comma makes this statement fail.
);
После исправления всех ошибок я запустил команду «CREATE TRIGGER», и она выдала ошибку с
PLS-00049: bad bind variable 'NEW.ROOM_NUM_ROOM'
Это потому, что столбец ROOM_NUM_ROOM не существует в «ORDER» стол. Если я удалю ссылку на «NEW.ROOM_NUM_ROOM», триггер успешно компилируется.
Однако, как указал gsalem, это не сработает, потому что это вызовет ошибку изменяющейся таблицы. В коде триггера вы не можете выполнить DML, ссылаясь на таблицу, в которой находится триггер. Существует множество документации о том, как избежать ошибок мутации таблиц.