세이브포인트 사용하기
동료 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;