Несколько сообщений об ошибках в одном 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>)
Другие вопросы по тегам