Как отобразить другое сообщение — журнал в одной строке

#sql-server #concatenation

#sql-сервер #конкатенация

Вопрос:

У меня есть sql-код, в котором у меня есть разные файлы, и я загружаю их в DB.

Мой запрос заключается в том, можем ли мы регистрировать все сообщения об ошибках и показывать их в журналах с условием ELSE if

ниже приведен мой код

 IF @var=1
BEGIN 
IF NOT EXISTS(condition)
BEGIN
Error message
Set @var2=1
END
ELSE IF
IF Not EXISTS(condition)
BEGIN
Error message
Set @var2=1
END
ELSE IF NOT EXISTS(condition)
BEGIN
Error message
Set @var2=1
END
END
If(@var2=1)
BEGIN
insert into log
RETURN
END
  

Теперь, что он делает, это проверяет, является ли first миссией, она зарегистрирует сообщение об ошибке и вернет. чего я хочу, так это если оно не соответствует всем условиям в IF else, тогда оно будет регистрировать все сообщения об ошибках.

Можете ли вы, ребята, помочь мне с этим. Могу ли я объединить сообщения об ошибках в одно и зарегистрировать их и как. Любая помощь в этом.

Заранее спасибо!!

Ответ №1:

Вы можете объявлять переменную сверху, как в моем коде, и объединять ее каждый раз, когда ожидаете сообщения об ошибке.

Я предполагаю, что в вашей строке примера кода в этой строке кода будет отображаться «Сообщение об ошибке».

 DECLARE @ERRORMESSAGE AS varchar(255)


IF @var=1
   BEGIN 
       IF NOT EXISTS(condition)
       BEGIN
         Error message
          Set @var2=1
       END
       IF Not EXISTS(condition)
       BEGIN
         Error message
         Set @var2=1
       END
       IF NOT EXISTS(condition)
       BEGIN
          Error message
          Set @var2=1
       END

 END


If(@var2=1)
BEGIN
insert into log
RETURN
END
  

Комментарии:

1. вы можете добавить ‘return’ в конец, я обновлю свой ответ

2. в журнале отображается значение NULL, если загружен первый файл, а 2-й и 3-й недоступны

3. Да, возможно, потому, что первое условие было выполнено, и оно не перейдет к другому условию, потому что вы используете ELSE IF, попробуйте использовать IF только во всех условиях, чтобы sql сканировал / выполнял каждое условие.

4. я хочу вернуть в конце всего, чтобы он проверил, какой файл доступен, а затем зарегистрировал сообщение

5. @Amitesh круто! Я правильно делаю отступ и заменяю else if на if 🙂