[SQL] 여러 개의 저장 프로 시저의 UNION 결과
SQL여러 개의 저장 프로 시저의 UNION 결과
나는 다른 PARAMATERS 각 시간이 지날 여러 번 호출하는 저장 프로 시저 I 필요가있다. 나는 하나의 데이터 세트로 결과를 수집하고 싶습니다. 이 수 같은 것입니다 ...
exec MyStoredProcedure 1
UNION
exec MyStoredProcedure 2
UNION
exec MyStoredProcedure 3
나는 위의 구문을 사용하여 시도했지만 오류가 발생했습니다 ...
Incorrect syntax near the keyword 'UNION'
내가 저장 프로 시저 및 변경 아무것도의 정의에 얻을 수 있도록 내가 처리하고있는 저장 프로 시저, 꽤 복잡하고 나에게 "블랙 박스"의 일종이다. 결과를 함께 수집하는 방법에 대한 어떤 제안?
나는 SQL Server 2008 R2를 사용하고 있습니다. 어떤 도움을 주셔서 감사합니다.
해결법
-
==============================
1.이 같은 임시 테이블을 사용해야 할 것입니다. UNION은 SELECT들에 대한 프록 저장되지 않습니다
이 같은 임시 테이블을 사용해야 할 것입니다. UNION은 SELECT들에 대한 프록 저장되지 않습니다
CREATE TABLE #foo (bar int ...) INSERT #foo exec MyStoredProcedure 1 INSERT #foo exec MyStoredProcedure 2 INSERT #foo exec MyStoredProcedure 3 ...
그리고 저장 발동이 중첩 될 수없는 이미 .. INSERT..EXEC가 없습니다 바랍니다. 또는 여러 결과 집합. 또는 여러 가지 다른 차단 구조
-
==============================
2.당신은이에 대한 INSERT EXEC를 사용할 수 있습니다.
당신은이에 대한 INSERT EXEC를 사용할 수 있습니다.
declare @myRetTab table (somcolumn ...) insert @myRetTab exec StoredProcName @param1
그런 다음 테이블 변수 또는 변수 조합을 사용합니다.
-
==============================
3.당신은이 모든 것을 할 수 있지만, 당신이 요구하는 것에 대해 생각할 수 ......
당신은이 모든 것을 할 수 있지만, 당신이 요구하는 것에 대해 생각할 수 ......
당신은 SP에 여러 매개 변수를 전달해야하고 다른 PARAMS 동일한 형식 결과 세트를 생성합니다. 당신이 그래서, 효과, 루프를 만들고 반복 스칼라 데이터와 저장된 프로 시저를 호출.
당신이해야 할 것은 매개 변수의 세트를 가지고 결합 된 결과를 제공 할 수 있도록 SP를 다시 작성합니다. 그럼 당신은 단지 1 개 세트를 기반으로 동작을한다.
먼저 자신의 유형을 만들어 같이 긴으로 2008에서 SP에 테이블 변수를 전달할 수 있습니다.
-
==============================
4.여기에 일반 쿼리입니다
여기에 일반 쿼리입니다
DECLARE @sql nvarchar(MAX) DECLARE @sql1 nvarchar(MAX) set @sql = 'select name from abc' set @sql1 = 'select name from xyz' EXECUTE(@sql + ' union all ' + @sql1)
from https://stackoverflow.com/questions/5292069/union-the-results-of-multiple-stored-procedures by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL INNER 구문 가입 (0) | 2020.05.21 |
---|---|
[SQL] 어떻게 자바에서 'LIKE'연산자와 같은 SQL을 구현하는 방법? (0) | 2020.05.21 |
[SQL] SQL Server 2005 및 임시 테이블의 범위 (0) | 2020.05.21 |
[SQL] 임의의 데이터와 SQL 채우기 테이블 (0) | 2020.05.21 |
[SQL] MySQL의 쿼리은 "테이블"에서 데이터를 선택합니다 (0) | 2020.05.21 |