Wykonywanie procedury składowanej, która zgłasza błąd
Chcesz zarejestrować, że otrzymano 3 rowery Trek Conduit+ w cenie 499,99 USD.
Podejrzewasz, że Trek Conduit+ nie istnieje w tabeli products, dlatego próbujesz dodać go jako nowy produkt, korzystając z procedury składowanej utworzonej w poprzednim ćwiczeniu:
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
Musisz przechwycić możliwe błędy generowane podczas wykonywania procedury składowanej i wyświetlić oryginalny komunikat błędu.
Jak przygotujesz skrypt?
To ćwiczenie jest częścią kursu
Transakcje i obsługa błędów w SQL Server
Instrukcje do ćwiczenia
- Wywołaj procedurę składowaną o nazwie
insert_product. - Ustaw odpowiednie wartości parametrów procedury składowanej.
- Otocz obsługę błędu blokiem
CATCH. - Wybierz komunikat błędu.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ___;
___ ___