Несколько сообщений об ошибках в одном raiserrror
У меня есть следующая проблема, мне нужно отобразить несколько сообщений об ошибках из моих операторов if. Если, например, 2 из 3 условий выполнены, мне нужно повысить отображение 2 сообщений.
IF @var1 > 1
BEGIN
SET @err = 'ASD'
END
IF @var1 <4
BEGIN
SET @err = 'ZXC'
END
IF @var = 3
BEGIN
SET @err = 'QWE'
END
За @var1 = 2
Мне нужно отобразить 2 сообщения об ошибках в одном raiserror. Как я могу это сделать?
1 ответ
Решение
Ваш код внутри блока BEGIN CACTH? Как насчет поднятия ошибки с такой серьезностью меньше 11, что:
IF @var1 > 1
BEGIN
SET @err = 'ASD';
RAISEERROR(@err, <your_severity>, <state>)
END
IF @var1 <4
BEGIN
SET @err = 'ZXC'
RAISEERROR(@err, <your_severity>, <state>)
END
IF @var = 3
BEGIN
SET @err = 'QWE'
RAISEERROR(@err, <your_severity>, <state>)
END
Или объединяя message_erorr:
IF @var1 > 1
BEGIN
SET @err += ' ASD';
END
IF @var1 <4
BEGIN
SET @err += ' ZXC'
END
IF @var = 3
BEGIN
SET @err += ' QWE'
END
RAISEERROR(@err, <your_severity>, <state>)