Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.02.2013, 06:15   #1
Лета
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 44
По умолчанию rollback tran в триггере

Если в теле триггера поставить update на какую-либо таблицу, а после этого написать rollback tran - то откатится не только действие на котором, стоит данный триггер, но и мой update?
И если это так, то как такого можно избежать (нужно чтобы update таблицы сохранился, а действие на которое стоит триггер не выполнилось)?
Лета вне форума Ответить с цитированием
Старый 11.02.2013, 09:19   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

проверь обладает ли твоя СУБД таким: http://msdn.microsoft.com/ru-ru/library/ms188929.aspx
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 11.02.2013, 15:13   #3
Лета
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 44
По умолчанию

В смысле, если update в триггере вставить в транзакцию?
Только что попробовала, все равно, следующий за commit tran, rollback tran в триггере делает откат и этой транзакции - изменения не сохраняются.
Лета вне форума Ответить с цитированием
Старый 08.05.2013, 21:34   #4
Лета
Пользователь
 
Регистрация: 10.06.2012
Сообщений: 44
По умолчанию

Спустя пол-года, я нашла как это сделать (в Microsoft SQL Server).))) Может, кому-нибудь понадобится:

После вызова rollback в триггере - соответствующая операция отменится, но работа триггера не закончится, и если после вызова rollback, в триггере осуществить какую-нибудь операцию - она выполнится.
Т.е.:
...
rollback
...
update ...

Правда, временная таблица inserted(если триггер на insert) после rollback станет пустой. Сейчас пытаюсь придумать как бы это обойти т.к. после rollback для следующих операций в триггере мне необходимы данные о записях на вставку которых в таблицу и был вызван триггер.

Если что-то не так написала, исправьте меня, пожалуйста, т.к. такое вышло у меня сегодня путем тестирования нескольких триггеров.

Последний раз редактировалось Лета; 09.05.2013 в 18:06.
Лета вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RollBack и Commit knesinka C# (си шарп) 2 03.12.2012 13:15
NEW значение в UPDATE триггере Oracle Raz0r SQL, базы данных 7 07.11.2012 20:15
Нубовопрос: insert-exec и rollback Ksardas13 SQL, базы данных 0 13.10.2012 17:58
InterBase - Commit, Rollback SoftKoc БД в Delphi 3 16.12.2010 13:33