帶參數的 THROW
你需要撰寫一段指令碼,使用給定的 staff_id,從 staff 資料表查詢某位員工的所有資訊。
如果查詢沒有找到任何員工,你要使用 THROW 陳述式擲回錯誤。你需要提示沒有符合該 id 的員工。
本練習屬於課程
SQL Server 的交易與錯誤處理
練習說明
- 使用
THROW陳述式,錯誤代碼用 50001,訊息文字為「No staff member with such id」,state 為 1。 - 在開頭的
DECLARE陳述式中,將@staff_id的值改成一個不存在的識別碼(例如 '45'),然後按下 執行程式碼(不要按 Run Solution)。你會看到錯誤。 - 將
@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