2016-08-23 3 views
0

이것은 단일 데이터 집합을 반환하는 프로 시저의 테이블에 데이터 집합을 저장하는 방법입니다.SQL Server 2008 R2의 저장 프로 시저에서 여러 데이터 집합 저장?

CREATE TABLE #TEMP (amount DECIMAL(18, 2), extra VARCHAR(50)) 

INSERT INTO #TEMP (extra, amount) 
    EXEC sp_proc @para1, @para2, @para3 

이제 두 개 이상의 테이블을 반환하는 프로 시저의 데이터 집합을 저장할 수 있습니까? 가능한 경우 어떻게 할 수 있습니까?

여러 절차를 변경해야하므로 임시 전역 테이블을 만들려하지 않습니다. 절차를 변경하지 않고 그렇게 할 수 있습니까?

답변

5

이제 두 개 이상의 테이블을 반환하는 프로 시저의 데이터 세트를 저장할 수 있습니까? 가능한 경우 어떻게 할 수 있습니까?

아니요, 적어도 직접적으로 가능하지 않습니다. INSERT ... EXEC의 많은 한계 중 하나. 개별 저장 프로 시저로 분할되도록 저장 프로 시저를 수정하는 것이 좋으며 각각은 자체 결과 집합을 반환합니다.

간접적으로 당신은 예를 들어 T-SQL, 외부 제어를 전환하여 그것을 할 수 있습니다. SQLCLR 프로시 듀어를 통해이를 실행하십시오.

0

당신은 다른 테이블에있는 SP에서 다중 테이블의 결과를 저장하지 않습니다. 그걸 위해 별도의 SP를 만들어야합니다.

관련 문제