НачатьНачать бесплатно

Выполнение хранимой процедуры, генерирующей ошибку

Вы хотите зарегистрировать получение 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 ___;
___ ___
Редактировать и запускать код