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
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 ___;
___ ___