TRY...CATCH 구문 중첩하기
buyers 테이블에 새 구매자를 등록하려고 합니다. 새 구매자는 Peter Thomson이며, 이메일은 [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';
___ ___
___ ___