Скажите пожалуйста с каким уровнем изоляции должна быть транзакция что бы она не видила свои вставки/изменения
Ситуация сл. в таб1 идет вставка данных в результате которой сраб. триггер и делает изменения в таб2 в которой также выпю триг. и запускает процедуру которая должна просчитать количество в табл.1 до вставки породившей данную транзакцию (другими словами расчитать остаток на дату и время вставки).
Использую сл. параметры тр.
write
read_commit
rec_version
nowait (При этих параметрах у меня видятся вносимые данные, а этого мне не надо)
Если использовать Snapshot то боюсь что в результате работы процедуры будут бл. остальные пользователи т.к. происходит чтение и запись в теже таблицы.
Что посоветуете.
О Транзакциях
Re: О Транзакциях
Ни с каким.bop писал(а):Скажите пожалуйста с каким уровнем изоляции должна быть транзакция что бы она не видила свои вставки/изменения
Наводка нумер раз: триггеры бывают не только after, но и before. То иссь, если модификацию tabl2 выполнять в before триггере tabl1, то триггер tabl2 как раз и соберёт остаток до вставки.bop писал(а): Ситуация сл. в таб1 идет вставка данных в результате которой сраб. триггер и делает изменения в таб2 в которой также выпю триг. и запускает процедуру которая должна просчитать количество в табл.1 до вставки породившей данную транзакцию (другими словами расчитать остаток на дату и время вставки).
Наводка нумер два: если before триггер tabl2 будет делать new.ostatok_do=old.ostatok_posle, то не надо будет шариться по tabl1 ваще.
Re: О Транзакциях
Спасибо помогло в таб1 тригер был на AfteНаводка нумер раз: триггеры бывают не только after, но и before. То иссь, если модификацию tabl2 выполнять в before триггере tabl1, то триггер tabl2 как раз и соберёт остаток до вставки.
Наводка нумер два: если before триггер tabl2 будет делать new.ostatok_do=old.ostatok_posle, то не надо будет шариться по tabl1 ваще.
Неподойдет т.к. нужновычислять на дату, а не последний имеемый.