SqlBulkCopy를 사용하여 대량 삽입 후 기본 키 열 값 가져 오기

c# sql sqlbulkcopy sql-server

문제

대량 삽입 후 기본 키 열의 열 값을 가져 오는 방법을 알려 주실 수 있습니까?

SqlBulkCopy를 사용하여 한 번에 여러 행을 표에 삽입합니다 (표 1 참조). 행이 삽입되면 표 1의 열 MsgId (PK)의 ID가 필요합니다. 다른 테이블에서 외래 키인 이러한 ID를 사용해야합니다. 표 2

여기 내 코드가있다.

        DataTable dtMessageDetails = new DataTable("Message Details");
        SqlBulkCopy copier = new SqlBulkCopy(Connectionstring);
        copier.DestinationTableName = "Table 1";
        copier.WriteToServer(dtMessageDetails);

수락 된 답변

벌크를 삽입하기 전에 테이블을 잠급니다. 행 수를 알고 있고 마지막 ID를 선택하면 총 요소 수를 알면 ID를 알 수 있습니다.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.