Вложенные конструкции TRY...CATCH
Вы хотите зарегистрировать нового покупателя в таблице buyers. Это Питер Томсон: его электронная почта — [email protected], а номер телефона — 555000100.
В базе данных также есть таблица errors, в которой сохраняются все ошибки.
Вы подготавливаете скрипт, который контролирует возможные ошибки при добавлении данных этого человека, а также записывает эти ошибки в таблицу errors.
Как подготовить такой скрипт?
Это упражнение является частью курса
Транзакции и обработка ошибок в SQL Server
Инструкции к упражнению
- Оберните оператор
INSERT INTO buyersв блокTRY. - Оберните обработку ошибки в блок
CATCH. - Оберните оператор
INSERT INTO errorsв ещё один блокTRY. - Оберните вложенную обработку ошибки в ещё один блок
CATCH.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
-- Set up the first TRY block
___ ___
INSERT INTO buyers (first_name, last_name, email, phone)
VALUES ('Peter', 'Thompson', '[email protected]', '555000100');
___ ___
-- Set up the first CATCH block
___ ___
SELECT 'An error occurred inserting the buyer! You are in the first CATCH block';
-- Set up the nested TRY block
___ ___
INSERT INTO errors
VALUES ('Error inserting a buyer');
SELECT 'Error inserted correctly!';
___ ___
-- Set up the nested CATCH block
___ ___
SELECT 'An error occurred inserting the error! You are in the nested CATCH block';
___ ___
___ ___