您的第一个错误处理脚本
您发现 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 ___