시작하기무료로 시작하기

파기된 트랜잭션(Doomed transactions)

두 명의 신규 고객 데이터를 customer 테이블에 INSERT하려고 합니다. 오류가 발생하면 트랜잭션이 롤백되고 오류 메시지를 확인할 수 있도록 스크립트를 준비하세요. XACT_ABORTXACT_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
코드 편집 및 실행