powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отмена действия в ТРИГГЕРЕ
6 сообщений из 6, страница 1 из 1
Отмена действия в ТРИГГЕРЕ
    #32026143
Lida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как правильно внутри AFTER-триггера отменить действие(INSERT, UPDATE or DELETE), вызвавшее его, чтобы при этом не прерваласть процедура, выполнившая это действие
...
Рейтинг: 0 / 0
Отмена действия в ТРИГГЕРЕ
    #32026198
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очевидное решение ROLLBACK и RETURN. Но только не понятен вопрос - какая процедура должна не прерыватся ?
...
Рейтинг: 0 / 0
Отмена действия в ТРИГГЕРЕ
    #32026204
nic_ii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня такое чувство, что SET XACT_ABORT OFF спасет процедуру от прерывания...
...
Рейтинг: 0 / 0
Отмена действия в ТРИГГЕРЕ
    #32026235
Lida
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не должна прерваться Stored Procedure, в которой выполнена операция, заставившая сработать триггер, поэтому ROLLBACK TRAN не подходит, а один RETURN отката не производит. SET XACT_ABORT OFF так же задачу не решает.
Видимо необходимо работать с транзакциями вне триггера.
Если у кого есть другие варианты, за ранее благодарна.
...
Рейтинг: 0 / 0
Отмена действия в ТРИГГЕРЕ
    #32026238
Фотография cvasil
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А instead of триггеры не подойдут?
...
Рейтинг: 0 / 0
Отмена действия в ТРИГГЕРЕ
    #32026242
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как совершенно верно заметил cvasil, instead-триггер - лучшее решение для любой погоды. Добавлю только, что ежели ваша погода не вписалась в это решение, остается внутри триггера произвести принудительно действия, противоположные выполненным в триггере (например, в триггере на удаление повторно добавить записи, содержащиеся в таблице Deleted). Однако, это как-то антиизящно.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отмена действия в ТРИГГЕРЕ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]