带参数的 THROW
您需要准备一个脚本,通过给定的 staff_id,从 staff 表中选择某位成员的全部信息。
如果 SELECT 语句未找到任何成员,您要使用 THROW 语句抛出一个错误。需要提示不存在该 id 的员工。
本练习是课程的一部分
SQL Server 中的事务与错误处理
练习说明
- 使用
THROW语句,将错误号设为 50001,消息文本设为 'No staff member with such id',状态设为 1。 - 在开头的
DECLARE语句中,把@staff_id的值替换为一个不存在的标识符(例如 '45'),然后点击 运行代码(不要 运行解答)。您将看到抛出的错误。 - 将
@staff_id的值改回 4,重新运行代码,应该不会报错。
交互式实操练习
通过完成这段示例代码来试试这个练习。
DECLARE @staff_id INT = 4;
IF NOT EXISTS (SELECT * FROM staff WHERE staff_id = @staff_id)
-- Invoke the THROW statement with parameters
___ ___, '___', ___;
ELSE
SELECT * FROM staff WHERE staff_id = @staff_id