2013-12-17 4 views
0

Я новичок в SQL Triggers.Ошибка компиляции SQL Trigger

Ниже триггер дает мне ошибку о том, что

Error: PL/SQL: ORA-00942: table or view does not exist

Error: PL/SQL: SQL Statement ignored

create or replace trigger HIST 
    after update of DATE ON EPISODE 
    for each row 

begin 

INSERT INTO HIST SELECT * FROM INSERTED; 

end HIST; 

Любая помощь будет оценена.

+0

Помимо неверной ссылки на INSERTED (как указано @Parado), имя столбца DATE недействительно, поскольку DATE является ключевым словом в SQL. Если у вас действительно есть колам по имени DATE (я искренне надеюсь, что вы этого не сделаете!), Вам придется заключить его в двойные кавычки. –

+0

ohh Я не знал, что встал, не работает на oracle .. Большое вам спасибо .. и да, я не знаю, как имя моей колонки: D Спасибо, парень, – user3110283

+0

. Добро пожаловать. Примите, пожалуйста, ответ @ Parado. –

ответ

1

Вы не можете использовать таблицу INSERTED в Oracle DB. Вы должны использовать new значения insetad ниже

INSERT INTO HIST (col1,col2) 
VALUES (:new.col1,:new.col2) 

Here вы можете найти более подробную информацию о триггерах.

+0

Это должно быть: new.col1,: new.col2 –

+0

@FrankSchmitt Конечно, спасибо! – Parado

Смежные вопросы