1. 学习
  2. /
  3. 课程
  4. /
  5. SQL Server におけるトランザクションとエラー処理

Connected

练习

エラーをスローするストアドプロシージャを実行する

$499.99 の価格で Trek Conduit+ バイクを 3 台受け取ったことを登録したいとします。 products テーブルに Trek Conduit+ は存在しないと考え、前の演習で作成したストアドプロシージャを使って新しい商品として挿入しようとします。

CREATE PROCEDURE insert_product
  @product_name VARCHAR(50),
  @stock INT,
  @price DECIMAL

AS

BEGIN TRY
    INSERT INTO products (product_name, stock, price)
        VALUES (@product_name, @stock, @price);
END TRY
BEGIN CATCH    
    INSERT INTO errors VALUES ('Error inserting a product');  
    THROW;  
END CATCH

ストアドプロシージャの実行で発生する可能性のあるエラーを捕捉し、元のエラーメッセージを表示する必要があります。

どのようにスクリプトを準備しますか?

说明

100 XP
  • insert_product というストアドプロシージャを実行します。
  • ストアドプロシージャのパラメータに適切な値を設定します。
  • エラー処理を CATCH ブロックで囲みます。
  • エラーメッセージを選択して表示します。