使用訊息字串的 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 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;