FORMATMESSAGE с текстом сообщения
Каждый раз при продаже велосипеда вам нужно проверять, достаточно ли товара на складе. Подготовьте скрипт для такой проверки, который будет выдавать ошибку при нехватке товара.
Это упражнение является частью курса
Транзакции и обработка ошибок в SQL Server
Инструкции к упражнению
- Присвойте переменной
@sold_bikesзначение, превышающее@current_stock(например, 100). - Настройте сообщение об ошибке с помощью
FORMATMESSAGE, передав текст 'There are not enough %s bikes. You have %d in stock.' в качестве первого параметра,@product_name— второго, а@current_stock— третьего. - Передайте переменную
@my_messageв операторTHROWи нажмите Запустить код (не «Запустить решение»). Вы увидите ошибку. - Верните значение
@sold_bikesв оператореDECLAREобратно на 10 и запустите код без ошибок.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
DECLARE @product_name AS NVARCHAR(50) = 'Trek CrossRip+ - 2018';
-- Set the number of sold bikes
DECLARE @sold_bikes AS INT = ___;
DECLARE @current_stock INT;
SELECT @current_stock = stock FROM products WHERE product_name = @product_name;
DECLARE @my_message NVARCHAR(500) =
-- Customize the error message
FORMATMESSAGE(___, ___, ___);
IF (@current_stock - @sold_bikes < 0)
-- Throw the error
THROW 50000, ___, 1;