Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как сделать update к записи в той же таблице, что и триггер  [new]
dmitry1000
Member

Откуда:
Сообщений: 100
Подскажите, возможно ли такое, изменить запись в той же таблице из которой вызывается триггер?

У меня есть запись, которая вставлена ранее.
По мере добавления записей, мне нужно изменять поле в этой записи.

pragma autonomous_transaction не подходит, потому что еще не было commit.

Триггер написан для before insert.
7 май 15, 15:25    [17613500]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать update к записи в той же таблице, что и триггер  [new]
Elic
Member

Откуда:
Сообщений: 29980
RTFM Compound DML Triggers (FAQ)
7 май 15, 15:57    [17613680]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать update к записи в той же таблице, что и триггер  [new]
Alexei_Unregistered
Guest
dmitry1000
Подскажите, возможно ли такое, изменить запись в той же таблице из которой вызывается триггер?
... Триггер написан для before insert.


Если триггер before insert for each row, то изменять и читать собственную
таблицу можно без проблем (mutating error не будет). Так что дерзайте,
в данном случае можно обойтись и без compound триггера.

Alexei.
7 май 15, 16:46    [17614023]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать update к записи в той же таблице, что и триггер  [new]
Elic
Member

Откуда:
Сообщений: 29980
Alexei_Unregistered
Если триггер before insert for each row, то изменять и читать собственную
таблицу можно без проблем (mutating error не будет).
Зуб дашь?
7 май 15, 17:00    [17614140]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать update к записи в той же таблице, что и триггер  [new]
dmitry1000
Member

Откуда:
Сообщений: 100
Alexei_Unregistered
dmitry1000
Подскажите, возможно ли такое, изменить запись в той же таблице из которой вызывается триггер?
... Триггер написан для before insert.


Если триггер before insert for each row, то изменять и читать собственную
таблицу можно без проблем (mutating error не будет). Так что дерзайте,
в данном случае можно обойтись и без compound триггера.

Alexei.


Небольшое уточнение - если триггер написан без for each row
то есть для полного оператора.

Тогда действительно "читает" и "пишет" в таблицу.
7 май 15, 18:47    [17614796]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать update к записи в той же таблице, что и триггер  [new]
stax..
Guest
Alexei_Unregistered
dmitry1000
Подскажите, возможно ли такое, изменить запись в той же таблице из которой вызывается триггер?
... Триггер написан для before insert.


Если триггер before insert for each row, то изменять и читать собственную
таблицу можно без проблем (mutating error не будет). Так что дерзайте,
в данном случае можно обойтись и без compound триггера.

Alexei.

insert бывает "могострочный" напр (insert + select)

ps
не понимаю почему не делать с помощью обычного обхода мутации?

.....
stax
7 май 15, 18:52    [17614817]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить