เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

FORMATMESSAGE กับสตริงข้อความ

ทุกครั้งที่ขายจักรยานในร้าน จำเป็นต้องตรวจสอบว่ามีสต็อกเพียงพอหรือไม่ เตรียมสคริปต์ไว้สำหรับตรวจสอบ และให้โยนข้อผิดพลาดหากสต็อกไม่เพียงพอ

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Transactions and Error Handling in 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 แล้วคลิก รันโค้ด (ไม่ใช่ Run Solution) เพื่อดูข้อผิดพลาด
  • ตั้งค่า @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;
แก้ไขและรันโค้ด