メッセージを連結する
staff テーブルから、与えられた first_name に基づいてメンバーのすべての情報を選択するスクリプトを用意します。
SELECT 文でメンバーが見つからない場合は、THROW ステートメントを使ってエラーを発生させます。その際、その名前のスタッフが存在しないことを知らせます。
この演習はコースの一部です
SQL Server におけるトランザクションとエラー処理
演習の手順
@my_messageには、'There is no staff member with ' と@first_nameの値、そして ' as the first name.' を連結した文字列を代入します。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
___ ___, ___, ___;