2012-08-06 5 views
0

다음 테스트 저장 프로 시저를 만들었습니다.다중 결과 집합에서 단일 결과 집합을 반환하십시오.

CREATE PROCEDURE [dbo].[TestA] 
AS 
BEGIN 
    SET NOCOUNT ON; 
    CREATE TABLE #MyTableA (ID INT, Name VARCHAR(255)) 
    CREATE TABLE #MyTableB (ID INT, Name VARCHAR(255)) 

    .............. 

    EXEC TestB; 
    SELECT * FROM #MyTableB; 

END 

TestB 저장 프로시 저는 결과 집합을 반환합니다. 그러나 나는 그것을 부를 필요가있다. 이 저장 프로 시저에 따르면 두 결과 집합이 반환됩니다. 그러나 나는 그것을 돌려 줄 필요가있다. 어떻게해야합니까? 감사.

+0

서로 관련 테이블이 있습니까? 조인을 사용하여 두 테이블 모두에서 열을 검색하십시오. – praveen

+0

관련 없음. 테이블이 다릅니다. – zanhtet

+0

그런 다음 유니온 all을 사용하여 데이터를 검색하십시오. – praveen

답변

0

이 시도 : -

CREATE PROCEDURE [dbo].[TestB] 
AS 
BEGIN 
SET NOCOUNT ON; 
CREATE TABLE #MyTableA (ID INT, Name VARCHAR(255)) 
CREATE TABLE #MyTableB (ID INT, Name VARCHAR(255)) 

............. 

INSERT INTO #MyTableA 
exec TestA 
DROP TABLE #MyTableA 
SELECT * FROM #MyTableB; 

END 
+0

MyTableA를 삭제할 수 없습니다. 실제로는 임시 테이블이 아닌 실제 테이블로 존재합니다. – zanhtet

+0

하지만 임시 테이블로 질문에 정의한 및 왜 이미 존재하는 경우 SP에서 해당 테이블을 만드는거야 ?? 어쨌든 Drop 문법 만 제거하면됩니다. – praveen

관련 문제