Я не владею Oracle и тестирую автоинкрементный триггер, необходимый для более старых версий, где IDENTITY
пока недоступен.
CREATE TABLE stuff (
id int PRIMARY KEY,
data varchar(255)
);
CREATE SEQUENCE stuff_sequence;
CREATE TRIGGER test
BEFORE INSERT ON stuff
FOR EACH ROW
BEGIN
SELECT stuff_sequence.nextval INTO :new.id FROM dual;
END;
INSERT INTO stuff(data) VALUES('test');
Использование SQL Developer, Я могу запустить оператор CREATE TABLE
, а затем оператор CREATE SEQUENCE
, но когда я запускаю оператор CREATE TRIGGER
, он также выделяет оператор INSERT
, а затем жалуется на `Обнаружен символ" INSERT ". Очевидно, что если я пытаюсь запустить весь лот как один скрипт, я получаю ту же ошибку.
Что здесь происходит, и как мне это исправить?