: 커밋 구문은 다음과 같습니다 Tran없이 SQL Server COMMIT | 트랜잭션? MSDN에 따르면
그러나 나는tran
/
transaction
단어를 생략
때 - 그것은 컴파일하고 오류없이 실행 않습니다. 어떻게 작동합니까?
대신 다른 작업을 수행합니까?
: 커밋 구문은 다음과 같습니다 Tran없이 SQL Server COMMIT | 트랜잭션? MSDN에 따르면
그러나 나는tran
/
transaction
단어를 생략
때 - 그것은 컴파일하고 오류없이 실행 않습니다. 어떻게 작동합니까?
대신 다른 작업을 수행합니까?
문제의 COMMIT이 실제로 COMMIT하지 않는다고 생각합니다. COMMIT WORK
그래서 자체COMMIT [WORK] [; ]
비고
트랜잭션을 COMMIT를 제외하고 기능이 동일 트랜잭션을 커밋이 문은 사용자 정의 트랜잭션 이름을 받아들입니다. 이 COMMIT 구.은 선택적 키워드 WORK를 지정하거나 지정하지 않고 SQL-92와 호환 가능합니다.
COMMIT
는
COMMIT TRANSACTION
동일
COMMIT WORK
이다. 코멘트 후
ROLLBACK [ WORK ]
에 대한
동감,
BEGIN TRANSACTION gbn
SELECT 1
COMMIT gbn -- fail
GO
BEGIN TRANSACTION gbn
SELECT 2
COMMIT TRAN gbn -- works
GO
중인 트랜잭션이 (적어도) 하나가 확인 IF @@TRANCOUNT > 0
목표 - 트랜잭션이 열려없이이 명령을 실행 등 모두 ROLLBACK
및 COMMIT
사용해야하는 경우
'COMMIT TRANSACTION이 사용자 정의 트랜잭션 이름을 허용한다는 것을 제외하고는 .... '오류를 생성하지만 .... 나는 그에게 트랜잭션의 이름을주지 않았다 ... 문제가된다. + 임 'WORK' 키워드에 대해 말하지 않습니다. 메신저 대 커밋에 대한 이야기. –
@Royi Namir : 아니요, COMMIT는 COMMIT WORK를 의미합니다. 명명 된 트랜잭션과 아무 관련이 없습니다. 이름을 지정한 경우 사용자가 질문에 언급하지 않았습니다. 그리고 이름으로 명시 적으로'COMMIT TRANSACTION SomeName' 또는'COMMIT TRAN SomeName'을 사용해야합니다. * NOT * COMMIT 그 자체로 – gbn
그래서 내가 항상 Commit을 단독으로 사용할 수있는 명명 된 트랜잭션을 사용하지 않는다면. 권리 ? –