2 개의 저장 프로 시저 usp_SP1 및 usp_SP2가 있습니다. 둘 다 #tt exec sp_somesp에 insert를 사용합니다. 세 번째 저장 프로 시저를 생성하여 어느 proc를 호출할지 결정합니다. 뭔가 같이 :내포 된 삽입 인스트루먼트 작업을 수행합니다.
create proc usp_Decision
(
@value int
)
as
begin
if (@value = 1)
exec usp_SP1 -- this proc already has insert into #tt exec usp_somestoredproc
else
exec usp_SP2 -- this proc too has insert into #tt exec usp_somestoredproc
end
나중에, 나는 내가 SSRS 데이터 집합 필드를 채울 수 있도록 usp_Decision의 반환 값에 대해 정의 된 몇 가지 구조를 필요 깨달았다. 그래서 여기 내가 뭘하려 : usp_Decision 내
은 임시 테이블을 생성 할 "#TT 간부 usp_SP1에 삽입"을 시도했다. 이것은 잘 풀리지 않았다. 오류 "삽입 exec는 중첩 될 수 없습니다."
usp_Decision 내에서 저장된 proc에 테이블 변수를 전달하고 저장된 procs 내에서 테이블을 업데이트하고 "select * from"을 수행했습니다. 그것도 잘 작동하지 않았다. 매개 변수로 전달 된 테이블 변수는 저장된 프로 시저 내에서 수정할 수 없습니다.
할 수있는 것을 제안하십시오.
INSERT EXEC의 손상은 SQL Server에 관한 가장 큰 문제 중 하나입니다. 투표하십시오! https://connect.microsoft.com/SQLServer/feedback/details/294571/improve-insert-exec –