Выполнение хранимой процедуры, генерирующей ошибку
Вы хотите зарегистрировать получение 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 ___;
___ ___