2014-07-21 2 views
0

트랜잭션의 대량 레코드 삽입.SQL Server : 트랜잭션의 대량 삽입

BEGIN TRANSACTION DATAINSERT 

-- INSERT QUERIES HERE 

COMMIT TRANSACTION DATAINSERT 

그러나 파일 중간의 스크립트에서 외래 키 제약 조건이 발생했지만 이전 삽입은 롤백되지 않았습니다.

외래 키 제약

와 충돌 INSERT 문 제가 스크립트가 성공해야한다 원하는 모든 경우에 모든 삽입은 어떤 제약 조건 위반하지 않고 성공하는 경우에만 가능합니다.

+0

실행 한 전체 스크립트는 어때요? 당신이 올린 글에서 이것은 잘되어야하지만 실제 스크립트는 분명히 올바르게 작동하지 않습니다. –

답변

2

모든 오류가 롤백을 의미하지는 않습니다. severity에 따라 다릅니다. 때로는 오류가 발생했을 때 명시 적으로 롤백해야합니다.

SET XACT_ABORT ON을 설정하면 모든 오류가 강제로 트랜잭션을 중단하지만 스크립트가 트랜잭션을 예상하지 않고 오류 발생 후 각 명령문을 자동 커밋합니다.