내 애플리케이션에 자동 업데이트 기능을 제공해야합니다. SQL 업데이트 적용에 문제가 있습니다. 내 .sql 파일에 업데이트 된 SQL 문을 가지고 있고 달성하고자하는 것은 하나의 statment가 실패하면 전체 스크립트 파일을 롤백해야한다는 것입니다. Ex. 난의 제 문에서 오류 얻으면트랜잭션이 포함 된 스크립트 파일로 자동 업데이트
create procedure [dbo].[test1]
@P1 varchar(200),
@C1 int
as
begin
Select 1
end
GO
Insert into test (name) values ('vv')
Go
alter procedure [dbo].[test2]
@P1 varchar(200),
@C1 int
as
begin
Select 1
end
GO
이제 위의 예에서, "절차 [DBO] 변경할 수있다. [TEST2]"그럼 TEST1 "의 SP를 생성하는 또 처음 두 개의 변경을 롤백 할 "및"테스트 "테이블에 데이터 삽입
이 작업에 어떻게 접근해야합니까? 어떤 도움을 많이 주시면 감사하겠습니다.
당신이 어떤 더 많은 정보가 필요하면 다음, 시작 부분에 BEGIN TRAN
을 추가 GO
문을 제거 한 다음 TRY..CATCH
블록과 ROLLBACK TRAN
/COMMIT TRAN
을 처리하는 것, 내가
트랜잭션이 일괄 처리 할 수 있습니다. –
허. 왜 그들이 그렇게 할 수 없다고 생각하는지 모르겠다. 그 점을 지적 해 주셔서 감사합니다. 나는 그 대답을 삭제했다. 나는 나머지가 아직도 관련이 있다고 생각한다. –
제안 해 주셔서 감사합니다. 데이터베이스가 너무 거대하여 백업/복원을 선호하지 않습니다. 두 번째 방법은 각 실행 된 SQL의 롤백 명령문을 만드는 것이 나을수록 좋습니다. 위 예제를 사용하여 어떻게 달성 할 수 있는지 말해 줄 수 있습니까? 많은 감사. – user867198