powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / RAISERROR и откат транзакции
3 сообщений из 3, страница 1 из 1
RAISERROR и откат транзакции
    #40055726
andreytsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Имеется таблица, куда производится вставка или обновление данных, например:
Код: sql
1.
2.
3.
4.
CREATE TABLE [test](
t1 int,
t2 int
)


Мне необходимо, чтобы пользователи видели понятное для них сообщение об ошибке, поэтому check constrint решили не использовать, а обойтись триггером, напр.:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TRIGGER [tr] ON [test]
FOR UPDATE, INSERT
AS 
BEGIN 
    IF EXISTS(SELECT 1 FROM inserted ins WHERE ins.[t1] <10)
	BEGIN
		RAISERROR('Некорректное значение',16,0);
	END
END


Подскажите, нужно ли явно прописывать откат транзакции? Проверил, значения не вставляются при выполнении условия ошибки, но хотелось бы убедиться. Поискал в документации, не нашел.
...
Рейтинг: 0 / 0
RAISERROR и откат транзакции
    #40055728
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. throw
2. Стейтмент, который вызвал срабатывание триггера, будет откачен.
3. Шобы вся транзакция откатилась, надобно либо set xact_abort on, либо обработку ошибки ПОСЛЕ стейтмента и откат вручную rollbaсk.
4. В триггере можно, но не нужно. И минуют тя геморрои.
...
Рейтинг: 0 / 0
RAISERROR и откат транзакции
    #40055759
andreytsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Благодарствую:)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / RAISERROR и откат транзакции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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