如何合并两个存储过程的所有结果?



我有两个存储过程,它返回如下内容:

call proc1('Jack');
+------+------------+
| 3232 |   Admin    |
+------+------------+
| 3254 | SuperUser  |
+------+------------+
| 3264 | Admin      |
+------+------------+
call proc2('Martin');
+------+--------+
| 6345 | User   |
+------+--------+
| 6309 | Stuff  |
+------+--------+

我怎样才能使用这两个过程的结果组合和使用最终结果?

我建议你,你可以创建新过程并在新过程中调用过程proc1和proc2,也可以通过创建一个临时表在新过程中执行联合操作。 例如:

create Procedure get_union_proc(your_parameter ...)
BEGIN
Insert INTO #Temp_table1 exec proc1;
Insert INTO  #Temp_rable2 exec proc2;
select * from Temp_table1
union
select * from Temp_table2
END get_union_proc

我希望这会有所帮助。

您需要创建一个临时表并从临时表中获取结果。

INSERT INTO #TempTable
EXEC StoredProc0;
INSERT INTO #TempTable
EXEC Storedproc1;

从临时表中选择 *;

最新更新