2011-01-04 2 views
9

가능한 중복 :
How to SELECT * INTO [temp table] FROM [stored procedure]저장 결과

내가 저장 프로 시저 중 하나에서 중첩 된 저장 프로 시저 호출

내가 원하는 결과를 테이블 변수 likt에 저장하십시오.

INSERT INTO @myTable 
EXEC sp_myStoredProcedure 
그러나

중첩 된 경우 다음 오류가 발생합니다. INSERT EXEC 문을 중첩 할 수 없습니다.

이 절차는 다른 절차에서 호출해야하며, 옵션을 변경하면이 절차를 호출해야합니다. 출력 매개 변수를 사용하려고했지만 여전히 Insert into 문으로 설정해야합니다.

저장 프로 시저 호출에서 검색 한 데이터를 변수에 저장하는 다른 옵션은 무엇입니까?

+0

당신이'opendatasource'를 사용하여 저장 프로 시저를 호출하는 경우? 종종 SQL Server에 대한 다른 연결을 열어 이러한 유형의 제한을 많이 발생시킵니다. –

+0

EXECUTE sp_executesql을 사용하여 sp를 호출하고 하나의 출력 매개 변수를 설정하십시오. 링크를 참조하십시오 : https://support.microsoft.com/en-in/kb/262499 –

답변

-2

테스트하지만 어쩌면이 수행되지 않음 :

DECLARE @insertedProc as varchar(300) 
SET @insertedProc = 'INSERT INTO ' + @myTable + ' sp_myStoredProcedure' 

EXEC @insertedProc 

당신이 손 전에 무엇 @myTable 정의했는지 확인하십시오.

+4

이것은 작동하지 않습니다. Jan은 "결과를 ** 테이블 변수 **에 저장하고 싶습니다."라고 변하기 쉬운. – Tony

관련 문제