대부분 연결이 끊어져 있고 일괄 적으로 가져와야하는 개체 그래프의 노드가 100 만 개 미만입니다.대량 삽입 후 서버 생성 엔티티 ID를 업데이트하는 가장 좋은 방법은 무엇입니까?
키는 모두 서버에서 생성됩니다. 여러 수준의 관계가 있으므로 각 일괄 처리가 삽입 된 후 다음 일괄 처리에서 외부 키 값으로 사용하려면 올바른 ID 키를 검색해야합니다.
가장 간단한 방법은 무엇입니까? BULK INSERT
의 출력이 있습니까?
또는 테이블의 현재 증분 ID 값을 조정하여 삽입 할 행 수를 확보하고 클라이언트 측의 ID를이 숫자로 할당하고 ID 삽입으로 대량 복사 할 수 있습니까? 예 : 다음 증분 ID가 120,001이고 삽입 할 행이 600,000 개이면 다음 ID를 720,001로 설정하고 삽입 전에 120,001에서 720,000까지의 숫자를 ID로 수동으로 사용 하시겠습니까?
declare @lastID int, @newLastID int;
begin tran
set @lastID = ident_current('dbo.Strains');
set @newLastID = @lastID + 1000;
dbcc checkident('dbo.Strains', reseed, @newLastID);
commit
select @lastID + 1;
그게 어떻게 나 기본 테이블에서 신원 키를 검색 할 수 있도록 것인가? – jnm2
나는 사과한다, 나는이 질문에 혼자 표제에 기초를 두어 응답했다. SQL Server 2008에서 작업하는 경우 병합 및 출력을 사용하여 소스 ID와 대상 ID 간의 매핑을 가져올 수 있습니다. 내 대답을 편집하여 동일한 참조 링크를 포함시킵니다. – Sonam
SCOPE_IDENTITY (SQL 2012)가 도움이 될 것으로 생각합니다. 여기에 링크가 있습니다 : http://msdn.microsoft.com/en-us/library/ms190315.aspx – Sonam