Неизвестные утверждения в сценарии - PullRequest
1 голос
/ 18 октября 2019

Написал скрипт в ORACLE APEX, он сказал, что «Вы запросили запустить скрипт, содержащий неизвестные операторы. Пожалуйста, удалите следующие операторы». Что не так?

CREATE OR REPLACE SEQUENCE deptno_seq INCREMENT BY 1 START WITH 50 MAXVALUE 90; /

CREATE OR REPLACE TRIGGER task1_trigger
BEFORE INSERT ON dept
FOR EACH ROW
BEGIN
    IF :new.deptno IS NULL THEN
        :new.deptno := deptno_seq.nextval;
    END IF;

    IF :new.loc IS NULL THEN
        :new.loc := 'MOSCOW';
    END IF;

END; /

INSERT INTO dept (DNAME) VALUES('MARKETING'); /
INSERT INTO dept (DNAME, LOC) VALUES('SPORT', 'LONDON'); /

SELECT * FROM dept; /

ALTER TRIGGER task1_trigger DISABLE; /

Ошибка: https://i.ibb.co/CV1ZgfG/error.png

1 Ответ

5 голосов
/ 18 октября 2019

Большинство этих слешей не должно быть там, а тот, который должен быть, находится не в том месте. Должно быть:

CREATE OR REPLACE SEQUENCE deptno_seq INCREMENT BY 1 START WITH 50 MAXVALUE 90;

CREATE OR REPLACE TRIGGER task1_trigger
BEFORE INSERT ON dept
FOR EACH ROW
BEGIN
    IF :new.deptno IS NULL THEN
        :new.deptno := deptno_seq.nextval;
    END IF;

    IF :new.loc IS NULL THEN
        :new.loc := 'MOSCOW';
    END IF;

END; 
/

INSERT INTO dept (DNAME) VALUES('MARKETING');
INSERT INTO dept (DNAME, LOC) VALUES('SPORT', 'LONDON');

SELECT * FROM dept;

ALTER TRIGGER task1_trigger DISABLE;
...