SQL Server 작업의 각 단계마다 DML 작업이 있습니다. 업데이트를 확인하려면 / 삽입이 뭔가 잘못 경우 롤백 될 것이다, 나는의 데이터 수정 감쌌다 각 단계 에 TRY CATCH
와 TRANSACTION
블록 :
BEGIN TRY
BEGIN TRANSACTION
[[INSERT/update statements]] ...
IF @@TRANCOUNT > 0
BEGIN
COMMIT TRANSACTION
PRINT 'Successful.'
END
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() AS ErrorState,
ERROR_PROCEDURE() AS ErrorProcedure,
ERROR_LINE() AS ErrorLine,
ERROR_MESSAGE() AS ErrorMessage
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRANSACTION
PRINT 'Unsuccessful.'
END
END CATCH
오류 발생시 데이터 조작이 롤백되도록 보장합니까? 또는 다른 고려 사항을 고려해야합니까?
구성 등을 사용하여 더 나은 방법이 있습니까?
감사합니다.