最好 way/practices 将存储过程中的多个结果集生成到 Excel 中的不同选项卡

Best way/practices to generate multiple result sets in stored procedure to different tabs in Excel

我希望通过 Excel 在 SQL 服务器上调用存储过程。我使用 Excel 的原因是因为用户输入了一些值,这些值作为参数传递给存储过程并执行到 return 新数据选项卡中的结果数据集。但是,存储过程有大约 6-7 select 条语句负责生成 6-7 个结果集。除了为每个结果集创建单独的存储过程(这是不可行的,因为它是及时的并且结果集相互构建),处理这个问题或解决方案的最佳方法是什么?它是我需要构建到存储过程逻辑中的东西还是我可以在 Excel 中配置的东西?

我的存储过程看起来像这样给你一个想法

CREATE PROCEDURE Test

AS
BEGIN

SET NOCOUNT ON;

SELECT TOP 10 PersonType,NameStyle,Title 
  FROM [AdventureWorks2016CTP3].[Person].[Person]

SELECT  TOP 10 PersonType,Firstname,Lastname
  FROM [AdventureWorks2016CTP3].[Person].[Person_json]

SELECT ****
.
.
.
SELECT ****
END
GO

在存储过程中,为所有 select 语句提供相同的列名,并在它们之间使用 UNION,然后为每个 select 语句添加一个列来标识哪个 table 数据来自,最好使用 table 名称。

然后将存储过程调用到主选项卡一次,然后将该数据引用到其他选项卡并过滤它们。