从 SQL Server 存储过程中获取结果

Posted

技术标签:

【中文标题】从 SQL Server 存储过程中获取结果【英文标题】:Getting result from SQL Server Stored Procedure 【发布时间】:2017-09-05 17:02:36 【问题描述】:

我需要从 MSSQL Server 数据库中的存储过程中获取结果。我尝试了不同的方法:

    使用表输入步骤,并使用此查询:exec dbo.storedproc @param1 = 5, @param2 = 12, @param3 = null, @param4 = null, @param5 = '2017/08/29', @param6 = 1。当我右键单击它 -> 显示输出字段时,它会显示存储过程的输出字段,但我不知道如何获取结果并将它们转储到另一个表中。 使用调用数据库过程步骤。有了这个,我设置了输入参数,并尝试通过 Generate Rows 步骤传递它们。但是,有了这个,我什至没有得到输出参数。

请帮我弄清楚如何做到这一点。 关于,

【问题讨论】:

如果将Table input 步骤直接连接到Table output 步骤,然后将输出步骤连接到目标表会发生什么情况? @Brian.D.Myers,我做到了,表格输出步骤创建了包含所有字段的表格,但表格没有获取任何数据。我正在使用一个大型存储过程,并且无法将其转换为表值函数。有任何想法吗?感谢您的快速响应,我因飓风而延误了 【参考方案1】:

正如@Brian.D.Myers 建议的那样,最好的方法是在Table input 步骤中执行存储过程,并将其连接到Table output 步骤。除此之外,存储过程必须使用以下语法执行:exec stored_procedure_name [@param = value,]

非常感谢!

【讨论】:

以上是关于从 SQL Server 存储过程中获取结果的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的数据?

SQL SERVER里面如何在存储过程里面获取另一个存储过程所返回的表的数据?

sql server存储过程如何输出结果集

如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?

如何从 SQL Server 存储过程中的 3 列中获取 MAX 值?

从存储过程执行 SQL Server 代理作业并返回作业结果