시작하기무료로 시작하기

세이브포인트 사용하기

동료 Anita가 도움을 요청했어요. 세이브포인트를 사용하는 스크립트를 준비했는데 작동하지 않는다고 해요. 스크립트는 먼저 첫 번째 세이브포인트 savepoint1을 표시한 다음, 한 고객의 데이터를 INSERT 합니다. 그다음 다른 세이브포인트 savepoint2를 표시하고, 다시 다른 고객의 데이터를 INSERT 합니다. 이후 두 세이브포인트 모두를 롤백합니다. 마지막으로 또 다른 세이브포인트 savepoint3을 표시하고, 다른 고객의 데이터를 INSERT 합니다.

Anita는 스크립트에 오류가 있어서 작동하지 않는다고 말하지만, 어떻게 고쳐야 할지 모른대요. 도와주시겠어요?

이 연습은 강의의 일부입니다

SQL Server에서의 트랜잭션과 오류 처리

강의 보기

연습 안내

  • 코드를 실행해 오류가 있는지 확인하세요.
  • 모든 오류를 수정하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

BEGIN TRAN;
	-- Mark savepoint1
	savepoint1 SAVE TRAN;
	INSERT INTO customers VALUES ('Mark', 'Davis', '[email protected]', '555909090');

	-- Mark savepoint2
    savepoint2 SAVE TRAN;
	INSERT INTO customers VALUES ('Zack', 'Roberts', '[email protected]', '555919191');

	-- Rollback savepoint2
	savepoint2 ROLLBACK TRAN;
    -- Rollback savepoint1
	savepoint1 ROLLBACK TRAN;

	-- Mark savepoint3
	savepoint3 SAVE TRAN;
	INSERT INTO customers VALUES ('Jeremy', 'Johnsson', '[email protected]', '555929292');
-- Commit the transaction
COMMIT TRAN;
코드 편집 및 실행