Executarea unei proceduri stocate care aruncă o eroare
Vrei să înregistrezi că ai primit 3 biciclete Trek Conduit+ la prețul de 499,99 $.
Crezi că Trek Conduit+ nu există în tabela products, așa că încerci să o inserezi ca produs nou, folosind procedura stocată creată în exercițiul anterior:
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
Trebuie să interceptezi eventualele erori generate la executarea procedurii stocate și să afișezi mesajul de eroare original.
Cum pregătești scriptul?
Acest exercițiu face parte din cursul
Tranzacții și gestionarea erorilor în SQL Server
Instrucțiuni pentru exercițiu
- Execută procedura stocată numită
insert_product. - Setează valorile corespunzătoare pentru parametrii procedurii stocate.
- Înconjoară gestionarea erorilor cu un bloc
CATCH. - Selectează mesajul de eroare.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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 ___;
___ ___