메시지 문자열과 함께 사용하는 FORMATMESSAGE
매장을 통해 자전거를 판매할 때마다 재고가 충분한지 확인해야 해요. 재고가 부족하면 오류를 발생시키도록 확인 스크립트를 준비했습니다.
이 연습은 강의의 일부입니다
SQL Server에서의 트랜잭션과 오류 처리
연습 안내
@sold_bikes값을@current_stock보다 크게 설정하세요(예: 100).FORMATMESSAGE를 사용해 오류를 사용자 지정하세요. 첫 번째 매개변수는 텍스트 'There are not enough %s bikes. You have %d in stock.'로, 두 번째 매개변수는@product_name, 세 번째 매개변수는@current_stock로 설정하세요.THROW문에@my_message변수를 전달하고 Run Code를 클릭하세요(Run Solution이 아님). 그러면 오류가 표시됩니다.DECLARE문에서@sold_bikes값을 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;