Отсутствующие части в синтаксисе (begin
); должно быть
CREATE OR REPLACE TRIGGER vehicles
BEFORE INSERT
ON Vehicle
FOR EACH ROW
BEGIN
IF :New.Vehicle_No IS NULL
THEN
SELECT seq.NEXTVAL INTO :New.Vehicle_No FROM DUAL;
END IF;
END;
Кроме того, вроде бы все в порядке. Хотя, если вы используете последовательность (которая является number
), почему столбец первичного ключа varchar2
?