ORA-04098: Простой триггер недействителен. Зачем? - PullRequest
2 голосов
/ 26 октября 2009

Что-то не так с этим триггером. Но что?

CREATE  TRIGGER MYCOOLTRIGGER
AFTER INSERT ON MYCOOLTABLE
REFERENCING NEW AS newRow
FOR EACH ROW
DECLARE
BEGIN
END  MYCOOLTRIGGER;

Вывод SQL для разработчиков:

Warning: execution completed with warning
TRIGGER MYCOOLTRIGGER Compiled.

Можно ли получить дополнительную информацию об этом предупреждении?

приписка

Этот вопрос может использовать более подходящее название. ;)

Ответы [ 2 ]

4 голосов
/ 26 октября 2009

Oracle требует, чтобы у вас было что-то между BEGIN и END.

Вы можете использовать NULL (без операции):

CREATE OR REPLACE TRIGGER MYCOOLTRIGGER
AFTER INSERT ON MYCOOLTABLE
REFERENCING NEW AS newRow
FOR EACH ROW
DECLARE
BEGIN
    NULL;
END  MYCOOLTRIGGER;
0 голосов
/ 26 октября 2009

Если вы хотите увидеть ошибки:

show errors trigger mycooltrigger;
...