파기된 트랜잭션(Doomed transactions)
두 명의 신규 고객 데이터를 customer 테이블에 INSERT하려고 합니다. 오류가 발생하면 트랜잭션이 롤백되고 오류 메시지를 확인할 수 있도록 스크립트를 준비하세요. XACT_ABORT와 XACT_STATE를 함께 사용해 이를 제어하려고 합니다.
이 연습은 강의의 일부입니다
SQL Server에서의 트랜잭션과 오류 처리
연습 안내
XACT_ABORT를 올바르게 설정하세요.- 열린 트랜잭션이 있는지 확인하세요.
- 트랜잭션을 롤백하세요.
- 오류 메시지를 SELECT하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- Use the appropriate setting
SET XACT_ABORT ___;
BEGIN TRY
BEGIN TRAN;
INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');
INSERT INTO customers VALUES ('Dylan', 'Smith', '[email protected]', '555888999');
COMMIT TRAN;
END TRY
BEGIN CATCH
-- Check if there is an open transaction
IF ___() <> 0
-- Rollback the transaction
___;
-- Select the message of the error
SELECT ___() AS Error_message;
END CATCH