안녕하십니까. TSQL의 중첩 된 트랜잭션에 대한 현재의 이해는 여러 트랜잭션 (하나의 "외부"트랜잭션 내부에 중첩 된 여러 트랜잭션)이있는 경우 모든 트랜잭션을 커밋해야합니다 ("외부"트랜잭션 사용) 마지막으로 데이터베이스가 변경 될 때까지). ? L 트 수가 열린 트랜잭션 수보다 작 으면 트랜잭션과 관련된 변경 g 항이 작성되지 않습니다. 중첩 된 트랜잭션의 작동 방식에 대한 올바른 개요입니까?TSQL의 중첩 된 트랜잭션
답변
COMMIT
에 대한 설명이 정확합니다. Kalen의 기사에서 논의 된 바와 같이 롤백이 발생하는 위치
Kalen Delaney has an article covering the same type of behavior that you describe.
그러나, 중첩 된 트랜잭션 내 ROLLBACK
가 아니라 내부 거래를 전체 외부 트랜잭션을 롤백합니다.
참고 다음과 같은 결과 : 이것은 MSDN 문서에서 설명하는
BEGIN TRAN
SELECT @@trancount
BEGIN TRAN
SELECT @@trancount
BEGIN TRAN
SELECT @@trancount
ROLLBACK TRAN
SELECT @@trancount
이없는 롤백 WORK 또는 ROLLBACK TRANSACTION 문이 트랜잭션 이름 롤백 모든 중첩 트랜잭션 및 감소 @@ TRANCOUNT를 0으로 설정 트랜잭션을 사용하는 ROLLBACK TRANSACTION 중첩 트랜잭션 집합에서 가장 바깥 쪽 트랜잭션의 이름 은 중첩 된 트랜잭션을 모두 롤백하고 @@ TRANCOUNT 을 0으로 감소시킵니다. 트랜잭션에 이미 있는지 확신 할 수 없으면 SELECT @@ TRANCOUNT를 선택하여 1 이상인지 확인하십시오. @@ TRANCOUNT가 0이면 은 트랜잭션에 없습니다.
요약하면 대답은 '예'입니다. Nesting Transactions에서 : 내부 트랜잭션을 커밋
SQL Server 데이터베이스 엔진에 의해 무시됩니다. 트랜잭션은 가장 바깥 쪽 트랜잭션의 끝에서 수행 된 작업 에 따라 커밋되거나 롤백됩니다. 트랜잭션이 커밋되면 내부 중첩 트랜잭션도 커밋됩니다. 외부 트랜잭션이 롤백되면 내부 트랜잭션이 개별적으로 커밋되었는지 여부에 관계없이 모든 내부 내부 트랜잭션 도 롤백됩니다.
ROLLBACks에 대해서는 외부 트랜잭션 전체를 ROLLBACK 할 수 있습니다.
- 1. 스프링에 중첩 된 트랜잭션
- 2. MySQL의 중첩 된 트랜잭션 - 롤백하지
- 3. EJB에서 중첩 된 트랜잭션 동작
- 4. 달성 NHibernate에 중첩 된 트랜잭션 행동
- 5. LINQ to SQL의 중첩 된 트랜잭션
- 6. TransactionScopeOption.Suppress가 있지만 중첩 된 트랜잭션 롤백
- 7. 원 자성을위한 중첩 된 트랜잭션 (Propogation.REQUIRED_NEW/Propogation.NESTED)
- 8. NHibernate, MySQL, InnoDB 및 중첩 된 트랜잭션
- 9. 중첩 된 스프링 트랜잭션 롤백 안 함
- 10. 중첩 된 트랜잭션 스코프에서 시간 초과
- 11. Jena TDB : 중첩 트랜잭션
- 12. ADO.NET의 중첩 트랜잭션
- 13. .NET의 중첩 트랜잭션
- 14. postgresql 8.2의 중첩 트랜잭션?
- 15. SQL 서버의 중첩 트랜잭션
- 16. django의 중첩 트랜잭션?
- 17. J2EE 1.4의 중첩 트랜잭션 지원
- 18. C#의 중첩 데이터베이스 트랜잭션
- 19. 여러 개의 중첩 된 트랜잭션 스코프를 사용하는 방법은 무엇입니까?
- 20. 봄과 최대 절전 모드를 사용하는 중첩 된 트랜잭션
- 21. 사용자 지정 Windows 서비스 내의 중첩 된 트랜잭션 문제
- 22. Google 애플리케이션 엔진 데이터 저장소의 중첩 된 트랜잭션 3
- 23. CLR의 중첩 된 트랜잭션 스코프 저장 프로 시저
- 24. iBatis와 중첩 된 트랜잭션 문제를 해결하는 방법은 무엇입니까?
- 25. 트랜잭션 내에서 중첩 된 save()를 강제 실행합니다.
- 26. 계단식 삭제를 수행하는 중첩 SQL Server 트랜잭션
- 27. tsql의 동적 선언
- 28. tsql의 평균 비율 계산
- 29. tsql의 임시 날짜 캐스팅
- 30. TSQL의 뷰 성능