Začněte nyníZačněte zdarma

Spuštění uložené procedury, která vyvolá chybu

Chceš zaznamenat, že jsi přijal/a 3 kola Trek Conduit+ za cenu 499,99 $. Máš pocit, že Trek Conduit+ v tabulce products ještě neexistuje, a proto se ho pokusíš vložit jako nový produkt pomocí uložené procedury vytvořené v předchozím cvičení:

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

Potřebuješ zachytit případné chyby vzniklé při spuštění uložené procedury a zobrazit původní chybovou zprávu.

Jak připravíš tento skript?

Toto cvičení je součástí kurzu

Transakce a zpracování chyb v SQL Serveru

Zobrazit kurz

Pokyny k cvičení

  • Spusť uloženou proceduru insert_product.
  • Nastav správné hodnoty parametrů uložené procedury.
  • Obal ošetření chyby blokem CATCH.
  • Vyber chybovou zprávu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

BEGIN TRY
	-- Execute the stored procedure
	EXEC ___
    	-- Set the values for the parameters
    	@product_name = 'Trek Conduit+',
        @stock = ___,
        @price = ___;
END TRY
-- Set up the CATCH block
___ ___
	-- Select the error message
	SELECT ___;
___ ___
Upravit a spustit kód