2011-08-09 4 views
1

하나의 데이터 테이블로 병합하려고하는 두 개의 저장된 procs가 있습니다. 하나에는 'Branches'라는 열이 있고 다른 하나는 'LocationID'라는 열을 반환합니다. 두 개의 저장된 proc 결과를 반복하여 하나의 datatable에 삽입 할 수 있습니까? 당신이 (그들은 임시 테이블, 또는 기타) 당신의 테이블에 두 개의 결과 세트가 있으면하나의 데이터 테이블에 병합 된 두 개의 저장된 procs 결과를 어떻게 얻을 수 있습니까?

+0

한 행을 다른 행에 매핑하는 무언가가 있습니까? 결과 집합의 위치가 일치 할 것이라고 가정하고 있습니까? –

+0

결과 집합의 위치가 일치해야합니다. – Safeh2

+0

자세한 정보가 필요합니다 ... – JonH

답변

1

방금에서 사용할 수, 구문 INSERT myTable EXEC myStoredProc

을 사용하여 테이블에 저장 프로 시저의 결과를 저장할 수 있습니다 JOIN를 ...

INSERT rs1 EXEC sp1 
INSERT rs2 EXEC sp2 

INSERT 
    myTable 
SELECT 
    blah 
FROM 
    rs1 
INNER JOIN 
    rs2 
    ON rs1.foo = rs2.bah 

참고 : 내 의견으로 당

는, 결과 세트의 위치는 두 개의 결과 세트 가입 방법을 결정하는 것만으로는 충분하지 않습니다. 당신은 IDENTITY 컬럼을 갖기 위해 테이블 ​​rs1과 rs2를 정의 할 수 있으며, StoredProcedures에서 ORDER BY를 사용하여 항상 같은 순서로 삽입되므로 항상 올바른 Identity 값을 얻습니다.

관련 문제