串接訊息
你需要撰寫一段指令碼,使用給定的 first_name,從 staff 資料表選出所有該會員的相關資訊。
如果查詢沒有找到任何成員,你要使用 THROW 陳述式擲出錯誤。你需要提示沒有該姓名的員工。
本練習屬於課程
SQL Server 的交易與錯誤處理
練習說明
- 將 'There is no staff member with '、
@first_name的值,以及 ' as the first name.' 串接起來,指定給@my_message。 - 使用
THROW,錯誤代碼設為 50000,訊息參數用@my_message,state 設為 1。 - 在開頭的
DECLARE陳述式中,把名字 'Pedro' 改成不存在的名字(例如 'David'),然後按下 執行程式碼(不是 Run Solution)。你會看到錯誤。 - 再把名字改回 'Pedro',即可在沒有錯誤的情況下執行程式碼。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
DECLARE @first_name NVARCHAR(20) = 'Pedro';
-- Concat the message
DECLARE @my_message NVARCHAR(500) =
___('There is no staff member with ', ___, ' as the first name.');
IF NOT EXISTS (SELECT * FROM staff WHERE first_name = @first_name)
-- Throw the error
___ ___, ___, ___;