Comments 10
Не стоит создавать рекурсивные триггера. Т.е., например, триггер after update, в котором выполняется update той же таблицы. В этом случае триггер будет срабатывать рекурсивно до тех пор, пока не закончится память.
Ух ты страсти какие
Всё нормально с памятью
SQL> create table test(a number not null);
Table created.
SQL> insert into test(a) values (0);
1 row created.
SQL> create or replace trigger test_aru
2 after update
3 on test
4 for each row
5 begin
6 update test set a = :old.a + 1;
7 end;
8 /
Trigger created.
SQL> update test set a = 1;
update test set a = 1
*
ERROR at line 1:
ORA-04091: table MCHS_TEST.TEST is mutating, trigger/function may not see it
ORA-06512: at "MCHS_TEST.TEST_ARU", line 2
ORA-04088: error during execution of trigger 'MCHS_TEST.TEST_ARU'
Или имелся в виду какой-то другой триггер? Статья полезная, разумеется.
+1
:)
Имелся в виду такой же триггер, но объявленный как автономная транзакция.
Имелся в виду такой же триггер, но объявленный как автономная транзакция.
0
(не туда коммент отправил)
0
И запрос на триггер After Commit висит с 98-го года если не ошибаюсь. Это так, жизнь-боль :)
+1
Скажите, планируется ли написать такую же статью «Всё о материализованных представлениях»?
0
Видео на канале www.youtube.com/c/MoscowDevelopmentTeam на эту тему точно появится.
По поводу статьи — постараемся.
По поводу статьи — постараемся.
0
То что нужно!
0
Sign up to leave a comment.
Все о триггерах в Oracle