CREATE TEMP TABLE entries (id INTEGER);
BEGIN;
INSERT INTO entries VALUES (1);
SAVEPOINT item;
INSERT INTO entries VALUES (2);
ROLLBACK TO item;
RELEASE item;
SELECT id FROM entries;
ROLLBACK;- 프로젝트
- 저장점을 해제하고 외부 트랜잭션을 롤백해 해제만으로 남은 행이 확정되지 않았는지 확인하세요.
- 적용하기 전에 검토하세요
- 실제 동작을 예상 결과와 비교하세요. 검사가 실패하면 다음 변경을 하기 전에 원인을 조사하세요.
- 모델
- 기본 URL과 필요한 API 키로 OpenAI 호환 또는 Anthropic 엔드포인트를 설정하고 연결을 테스트하세요. 로컬 모델 서버는 실행 중이어야 합니다. 원격 도구는 데이터를 별도로 전송할 수 있습니다.
CREATE TEMP TABLE entries (id INTEGER);
BEGIN;
INSERT INTO entries VALUES (1);
SAVEPOINT item;
INSERT INTO entries VALUES (2);
ROLLBACK TO item;
RELEASE item;
SELECT id FROM entries;
ROLLBACK;트랜잭션 코드를 바꾸기 전에 실패 경로를 검토하세요
트랜잭션 코드는 성공한 작업과 부분 실패를 모두 따라가는 검토가 필요합니다. Savepoint Arc는 그 논의를 프로젝트 파일 옆에서 진행하는 Windows AI 코딩 작업 공간입니다. 애플리케이션 폴더를 열고 연결된 모델이 변경을 제안하기 전에 SQL 순서, 호출자, 예상 결과를 검토하도록 요청하세요.
가져오기 작업에서는 항목 하나가 거부되면 전체 배치를 취소해야 하는지, 저장점 이후 작업만 취소해야 하는지 살펴보는 요청이 유용할 수 있습니다. 관련 구문을 제공하고 애플리케이션이 필요로 하는 정책을 설명하세요. 트랜잭션이 존재한다는 이유만으로 정책을 추론하지 말고 제안된 각 롤백이나 해제를 정책과 연결하도록 어시스턴트에게 요청하세요.
제안을 관찰 가능한 데이터베이스 상태와 대조하여 테스트하세요. 폐기 가능한 테스트 환경에서 성공 사례와 구문 사이에 실패하는 사례를 실행한 다음 어떤 행이 계속 보이고 호출자가 무엇을 받는지 살펴보세요. 예외를 잘못 처리하면 타당한 트랜잭션 순서도 무효가 될 수 있으므로 SQL뿐 아니라 애플리케이션 코드도 검토하세요.
대화에 사용할 지원되는 OpenAI 호환 또는 Anthropic 엔드포인트를 선택하세요. 거부 제한 완화 AI 모델은 설정한 서비스가 제공하는 경우에만 선택할 수 있으며 제한과 기능도 해당 서비스에서 정합니다. Savepoint Arc는 편집을 검토할 작업 공간을 제공합니다. 데이터베이스 동작은 여전히 사용자의 엔진과 프로젝트에서 검증해야 합니다.
트랜잭션 경계에 관한 질문
- 부분적인 가져오기 실패에 관해 무엇을 설명해야 하나요?
앞서 수락한 항목을 남겨야 하는지, 전체 가져오기가 원자적이어야 하는지, 호출자에게 어떤 오류가 보여야 하는지 명시하세요. 이 결정들이 의도한 경계를 정합니다. 모델이 SQL 문법만 보고 트랜잭션 정책을 선택해서는 안 됩니다.
- 저장점 테스트가 애플리케이션 호출자 검사를 대신할 수 있나요?
아니요. 호출자는 SQL 순서 이후 재시도하거나 예외를 잡거나 추가 구문을 실행할 수 있습니다. 특히 최종 커밋이 표시된 함수 밖에서 이루어진다면 해당 코드를 검토에 포함하고 실패에 대한 반응을 검증하세요.
- 제안된 롤백 변경은 어디서 시험해야 하나요?
대표적인 테스트 데이터와 프로젝트가 의존하는 동일한 엔진 동작을 갖춘 폐기 가능한 테스트 데이터베이스를 사용하세요. 결과 행과 트랜잭션 결과를 살펴보세요. 모델의 단계별 설명을 구문이 성공적으로 실행됐다는 증거로 간주하지 마세요.
- 저장점을 변경하면서 재시도 논리를 추가해야 하나요?
명시적 요구사항이 있고 작업 반복이 안전한지 검토한 경우에만 추가하세요. 가능하면 재시도와 경계 수정을 분리하여 각 변경의 효과를 이해하고 테스트할 수 있게 하세요.
Savepoint Arc · 업데이트 2026-10-25