Excel从存储过程SQL获取参数(而不是表)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Excel从存储过程SQL获取参数(而不是表)相关的知识,希望对你有一定的参考价值。

SQL Server 2012存储过程有三个参数:

  1. INPUT参数(名为UUT)
  2. OUTPUT参数(名为StartDate)
  3. OUTPUT参数(名为EndDate)

没有表格输出。

Excel 2013通过DATA / From Other Sources / From SQL Query访问存储过程

{CALL [databasename].[dbo].[uspStoredProcedureName] (?,?,?)}

我有三个参数,因为SQL引擎不允许我只输入一个参数。输出是一个空表(如预期的那样),但没有参数......

只输入输入参数并获得两个输出的正确方法是什么?

答案

因为没有更好的答案呈现出来......

我发现获取参数的唯一方法是选择它们以获得表输出。我发现无法获得参数输出。

  • 添加到存储过程:

SELECT @pStartDate AS StartDate, @pEndDate as EndDate

  • (可选)检查输出是否有效(仅限调试 - 您无法从excel读取此内容)

IF @pStartDate IS NULL OR @pEndDate IS NULL BEGIN SELECT @responseMessage = 'No data was read, check inputs' END

  • 在excel中,它将被粘贴为带有标题的两个调整单元格(例如,字段名称将出现在A1和B1上,值和A2和B2上的值)

以上是关于Excel从存储过程SQL获取参数(而不是表)的主要内容,如果未能解决你的问题,请参考以下文章

使用存储过程将数据从 SQL 表插入 Excel

从内存而不是表中获取数据

从 SQL 导入后 Excel 无法识别数字单元格

VBA 将日期参数传递给 SQL Server 存储过程

使用存储过程将数据插入从其他表派生的表中

想要将存储过程获取的数据获取到 excel 文件(单张)