Конкатенация сообщения об ошибке
Вам нужно подготовить скрипт, который выбирает все данные о сотрудниках из таблицы staff по заданному значению first_name.
Если оператор SELECT не найдёт ни одной записи, необходимо сгенерировать ошибку с помощью оператора THROW. Сообщение должно предупреждать об отсутствии сотрудника с указанным именем.
Это упражнение является частью курса
Транзакции и обработка ошибок в SQL Server
Инструкции к упражнению
- Присвойте переменной
@my_messageрезультат конкатенации строк 'There is no staff member with ', значения@first_nameи строки ' as the first name.'. - Используйте
THROWс номером ошибки 50000, параметром сообщения@my_messageи состоянием 1. - Замените имя 'Pedro' в операторе
DECLAREв начале скрипта на имя, которого не существует (например, 'David'), и нажмите Запустить код (не «Запустить решение»). Вы увидите сообщение об ошибке. - Верните имя 'Pedro' и снова запустите код — на этот раз без ошибок.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
DECLARE @first_name NVARCHAR(20) = 'Pedro';
-- Concat the message
DECLARE @my_message NVARCHAR(500) =
___('There is no staff member with ', ___, ' as the first name.');
IF NOT EXISTS (SELECT * FROM staff WHERE first_name = @first_name)
-- Throw the error
___ ___, ___, ___;