Script xử lý lỗi đầu tiên của bạn
Bạn nhận ra bảng products không có bất kỳ ràng buộc nào để kiểm tra dữ liệu lưu trong cột stock. Về logic, stock luôn phải lớn hơn hoặc bằng 0.
Vì một lý do nào đó, có lỗi ở hàng sau. Stock là -1!
| product_id | product_name | stock | price |
|------------|--------------|-------|-------|
| 6 | Trek Neko+ | -1 | 2799 |
Bạn muốn chuẩn bị một script thêm ràng buộc vào bảng products, sao cho chỉ cho phép các giá trị stock lớn hơn hoặc bằng 0.
Nếu bạn thêm ràng buộc chỉ cho phép stock lớn hơn hoặc bằng 0, việc thực thi sẽ thất bại vì có một hàng có stock bằng -1.
Làm sao bạn có thể chuẩn bị script này?
Bài tập này là một phần của khóa học
Giao dịch và Xử lý lỗi trong SQL Server
Hướng dẫn bài tập
- Bao bọc ràng buộc trong một khối
TRY. - Thêm ràng buộc vào bảng
products. - Bao bọc thông báo lỗi trong một khối
CATCH.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
-- 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 ___