2013-10-15 7 views
2

몇 가지 SQL 테이블에서 작동하는 작은 프로세스가 있습니다. 테이블은 원래 Guid 기본 키가 있지만 효율성을 위해 BigInt 신원으로 업데이트하고 있습니다.SQL Guid to Identity 기본 키, 일괄 쿼리

기본 키 테이블에 항목을 추가 한 다음 외부 키 테이블에 여러 항목을 추가하는 배치 삽입이 있습니다. Guids를 사용하면 코드에서 Guid를 만들고 매개 변수로 전달하기 때문에 쉽습니다.

신원 확인 열에 대한 최선의 접근 방식이 궁금합니다. 나는 내가 할 수있는 것을 안다 :

declare @id int 
insert into PrimaryKeyTable (...) Values (...) 
select @id = Scope_Identity() 

그리고 되돌아가는 주 키.

배치를 두 개로 분할하고 외래 키 삽입 코드에서 매개 변수를 다시 전달하는 가장 좋은 방법은 무엇입니까? 아니면 하나의 SQL 문에 모든 삽입 작업을 수행 할 수있는 방법이 있습니까? 이 문제에 대한 일반적인 여론이 있나, 아니면 최선의 방안이 있습니까? 안내해 주셔서 감사합니다.

답변

1

당신이 당신이 일괄 삽입을 수행 할 수 있습니다 OUTPUT

INSERT... 
OUTPUT INSERTED.ID 

사용할 필요하고 그것은 일괄 식별 ID의와 어떤 다른 명시 적으로 출력

로 설정 뱉어