Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как обойти мутация таблиц в SQL?

Слава Побожий Профи (637), на голосовании 1 год назад
Есть таблица - код блюда, код продукта и сколько этого продукта в блюде (вес). Стоит задача - создать триггер, который при добавлении/обновлении значения веса должен сложить для этого блюда значения веса (включая новое) и проверить, не превышает ли эта сумма изначальное значение, заданное в другой таблице. Вот только SELECT вызывает мутацию таблицы, не помогает даже создание пакета, ибо чтение всё равно происходит в рамках Триггера.
Голосование за лучший ответ
myodo.ru Мудрец (12806) 2 года назад
сам-то подумай. если спрашиваешь у СУБД сумму, включая строку, которую прямо сейчас правишь, которое значение она тебе должна дать: старое или новое?

не поручусь, что сработает, но советую сделать select без изменяемой строки и значение этой строки брать из :new.value
Похожие вопросы