Проблемы при создании триггера ORA-00942

Я пытаюсь создать триггер, который должен проверять новое входное значение для 'grado_academico', когда я вставляю в 'Investigadores', который находится в схеме 'Director' и в другом табличном пространстве.

Это мой стол

CREATE TABLE director.Investigadores (
id_investigador numeric(6, 0) NOT NULL,
 nombre varchar(40)  NOT NULL, apellido_pat varchar(40)  NOT NULL,
 apellido_mat varchar(40)  NOT NULL, grado_academico varchar(40)  NOT NULL, 
 fecha_ingreso date NOT NULL,  nivel_sni numeric(2, 0) NOT NULL,  
 CONSTRAINT id_investigador  PRIMARY KEY (id_investigador)) 
 tablespace sni_tablespace;

и это мой триггер

  CREATE OR REPLACE TRIGGER verificarGrado
        before insert on director.Investigadores 
        for each row
        begin
            IF (new.grado_academico='MC' OR new.grado_academico='DOCTOR' OR new.grado_academico='LICENCIATURA')
                return new;
            else
                RAISE EXCEPTION 'El grado academico solo puede ser MC, DOCTOR o LICENCIATURA';
            end if;
        END;
/

Но когда я создал триггер возвращает мне предупреждение, поэтому я запускаю

SQL> show errors
ERROR:
ORA-00942: table or view does not exist

Так почему он возвращает мне это предупреждение, если моя таблица уже существует?
мой триггер неправильно?
Мой пользователь 'Director' имеет права на создание любого триггера.
Должен ли я сделать что-то еще?
Пожалуйста, я надеюсь, что вы могли бы помочь мне с этим вопросом.

РЕДАКТИРОВАТЬ

Я изменил свой триггер, используя схему

CREATE OR REPLACE TRIGGER director.verificarGrado
before insert on director.Investigadores
for each row
begin
    IF (:new.grado_academico='MC' OR :new.grado_academico='DOCTOR' OR :new.grado_academico='LICENCIATURA')
    then
            :new.grado_academico:=:new.grado_academico; 
    else
        RAISE EXCEPTION 'El grado academico solo puede ser MC, DOCTOR o LICENCIATURA';
    end if;
END;/

Выкидывает мне ту же ошибку.

Строка:new.grado_academico:=:new.grado_academico; это где я не уверен, что я предполагал сделать, мне просто нужно, чтобы вставка продолжала

РЕДАКТИРОВАТЬ Я изменил логику для моего условного Я использую, если нет... спасибо за эту рекомендацию

В любом случае, похоже, это проблема привилегий, я до сих пор не знаю, как ее решить.

0 ответов

Другие вопросы по тегам