Эта ошибка указывает на то, что вы не можете запросить таблицу, по которой сработал триггер, внутри самого триггера.
Но в вашем случае использования кажется, что вам не нужно запрашивать таблицу. Если вы хотите получить доступ к текущему значению столбца SHIPDATE
в записи, которая должна быть обновлена, вы можете просто использовать :OLD.SHIPDATE
.
Так что-то вроде:
BEFORE UPDATE ON ORD
FOR EACH ROW
BEGIN
IF (:old.SHIPDATE IS NOT NULL) THEN
RAISE_APPLICATION_ERROR(20121,'ORDER already on the way!!!');
END IF;
END;