![]() |
|
Модераторы: Akina |
![]()
|
|
| lankin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 377 Регистрация: 13.12.2006 Репутация: нет Всего: нет |
В чем вопрос: в хранимой процедуре есть два INSERT, следующие друг за другом. Они заключены в рамки транзакции.
Первый INSERT записывает данные в таблицу с триггером. Триггер работает на INSERT/UPDATE. Когда данные неверные вносятся - все хорошо, триггер ругается, НО отката транзакции нет и сразу за первым INSERT-ом отрабатывает второй. В теле триггера есть выражение SET XACT_ABORT ON, но и это не помогает. Как прервать выполнение процедуры и поднять описание ошибки из триггера? |
|||
|
||||
| lankin |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 377 Регистрация: 13.12.2006 Репутация: нет Всего: нет |
Все, сделал)))
Поставил выполнение INSERT-ов в блок TRY-CATCH и в CATCH - делаю RAISERROR |
|||
|
||||
| Zioma |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 150 Регистрация: 22.8.2007 Репутация: 5 Всего: 5 |
Можно еще анализировать переменную @@error.
|
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |