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

สคริปต์จัดการข้อผิดพลาดแรกของคุณ

คุณพบว่าตาราง products ยังไม่มี constraint ใดที่ตรวจสอบข้อมูลในคอลัมน์ stock ซึ่งตามหลักแล้ว stock ควรมีค่ามากกว่าหรือเท่ากับ 0 เสมอ แต่ปรากฏว่ามีข้อผิดพลาดในแถวต่อไปนี้ โดย stock มีค่าเป็น -1!

| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6          | Trek Neko+   | -1    | 2799  |

ต้องการเตรียมสคริปต์เพื่อเพิ่ม constraint ให้กับตาราง products โดยอนุญาตให้ stock มีค่ามากกว่าหรือเท่ากับ 0 เท่านั้น

หากเพิ่ม constraint ดังกล่าว การรันจะล้มเหลว เนื่องจากมีแถวที่มีค่า stock เป็น -1 อยู่

จะเตรียมสคริปต์นี้ได้อย่างไร?

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

Transactions and Error Handling in SQL Server

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ครอบ constraint ด้วยบล็อก TRY
  • เพิ่ม constraint เข้าไปในตาราง products
  • ครอบข้อความแสดงข้อผิดพลาดด้วยบล็อก CATCH

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

-- Set up the TRY block
BEGIN ___
	-- Add the constraint
	ALTER TABLE ___
		ADD CONSTRAINT CHK_Stock CHECK (stock >= 0);
___ ___
-- Set up the CATCH block
___ ___
	SELECT 'An error occurred!';
END ___
แก้ไขและรันโค้ด