你的第一個錯誤處理腳本
你發現 products 資料表在 stock 欄位上沒有任何用來檢查資料的限制條件。合理來說,stock 應該永遠大於或等於 0。
某些原因導致下列這筆資料有錯。庫存是 -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
你想要撰寫一個腳本,替 products 資料表加入一個限制條件,只允許大於或等於 0 的庫存值。
如果你加入這個只允許庫存大於或等於 0 的限制條件,執行將會失敗,因為有一筆資料的庫存是 -1。
你要如何準備這個腳本?
本練習屬於課程
SQL Server 的交易與錯誤處理
練習說明
- 用
TRY區塊包住新增限制條件的程式。 - 將限制條件加入
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 ___