내가 줄 지어있다 SQL 문 큰 파일을 가지고 (?) :SQL 서버 오류에도 불구하고 Select 문에서 삽입의 시리즈를 계속 다음과 같이
INSERT INTO [table here]
SELECT [columns]
FROM OPENROWSET(xlsx tab 1)
INSERT INTO [table here]
SELECT [columns]
FROM OPENROWSET(xlsx tab 2)
... etc etc...
문제는 가끔 XLSX 탭 # 2 (또는 22)가 존재하지 않아 오류가 발생할 수 있으며 전체 일련의 명령문이 실패합니다.
각 명령문을 자체 쿼리로 실행하거나 오류를 무시하고 계속 진행하는 방법이 있습니까?
감사합니다.
일부 인서트가 발생하지 않을 수도 있지만 상관 없으면 try/catch에 각 인서트를 래핑 할 수 있습니다. 그것은 나에게 조금 부서지기는하지만 그것이 당신이 요구하는 것을 할 것입니다. –
@SeanLange 메서드가 가장 좋습니다. 또 다른 방법은 얼마나 많은 탭이 있는지 결정한 다음 동적으로 삽입 문을 작성하는 커서입니다. 당신이 이미 작성된 대부분의 코드를 가지고 있기 때문에, 나는 그냥 TRY/CATCH로 감싸겠습니다. – scsimon
BEGIN TRY/END TRY와 CATCH를 시도했지만 여전히 전체 블록을 롤백합니다. IDK가 OPENROWSET과 관련이 있다면 - 나도 "GO"를 사용해 보았지만 그 중 하나도 작동하지 않았다 – user2089039