ПочатиПочніть безкоштовно

Використання функцій помилок у вкладеному TRY...CATCH

Ви отримали нові електровелосипеди для магазину, тож потрібно оновити залишки.

Ви хочете зафіксувати надходження 2 велосипедів Trek Powerfly 5 - 2018 за ціною $3499.99 кожен і 3 велосипедів New Power K- 2018 за ціною $1999.99 кожен.

Ви намагаєтеся вставити ці товари до бази даних, бо вважаєте, що це нові моделі. Однак ви забули, що перша модель уже є на складі. На щастя, в таблиці products є обмеження, яке вимагає унікальності назви кожного товару.

Ви готуєте скрипт для контролю можливих помилок під час вставок. Ви також хочете вставляти можливі помилки в таблицю errors, а якщо під час вставлення запису про помилку щось не вдасться, показати номер помилки та її повідомлення.

Ця вправа є частиною курсу

Транзакції та обробка помилок у SQL Server

Переглянути курс

Інструкції до вправи

  • Обгорніть обробку помилок блоком CATCH.
  • Вставте 'Error inserting a product' у таблицю errors і обгорніть цю вставку ще одним блоком TRY.
  • Обгорніть вкладену обробку помилок ще одним блоком CATCH.
  • У внутрішньому блоці CATCH виберіть рядок помилки та повідомлення про помилку.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

BEGIN TRY
    INSERT INTO products (product_name, stock, price) 
    VALUES	('Trek Powerfly 5 - 2018', 2, 3499.99),   		
    		('New Power K- 2018', 3, 1999.99)		
END TRY
-- Set up the outer CATCH block
___ ___
	SELECT 'An error occurred inserting the product!';
    -- Set up the inner TRY block
    ___ ___
    	-- Insert the error
    	INSERT INTO ___ 
        	VALUES ('Error inserting a product');
    ___ ___    
    -- Set up the inner CATCH block
    ___ ___
    	-- Show number and message error
    	SELECT 
        	___ AS line,	   
			___ AS message; 
    ___ ___    
___ ___
Редагувати та запускати код