Виконання збереженої процедури, яка викидає помилку
Ви хочете зареєструвати надходження 3 велосипедів Trek Conduit+ за ціною $499.99.
Ви вважаєте, що Trek Conduit+ відсутній у таблиці products, тому намагаєтеся додати його як новий продукт, використовуючи збережену процедуру, створену у попередній вправі:
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
Потрібно перехопити можливі помилки, згенеровані під час виконання збереженої процедури, і показати початкове повідомлення про помилку.
Як підготувати скрипт?
Ця вправа є частиною курсу
Транзакції та обробка помилок у SQL Server
Інструкції до вправи
- Виконайте збережену процедуру
insert_product. - Задайте відповідні значення параметрам збереженої процедури.
- Оточіть обробку помилки блоком
CATCH. - Виберіть повідомлення про помилку.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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 ___;
___ ___