始める無料で始める

メッセージを連結する

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
	___ ___, ___, ___;
コードを編集して実行