【问题标题】:How do I return multiple datatables from a SQL Server stored procedured?如何从 SQL Server 存储过程返回多个数据表?
【发布时间】:2009-01-09 17:32:12
【问题描述】:

我需要对两个不同的表进行两次查询,但数据并不真正相关。所以当我通过我的代码调用存储过程时,我应该得到一个带有两个数据表的数据集,每个查询一个数据表。在 SQL Server 存储过程中是如何做到的?

【问题讨论】:

    标签: sql-server tsql stored-procedures


    【解决方案1】:

    只需在 proc 中执行两个 SELECT 语句:

    SELECT * FROM Foo
    SELECT * FROM Bla
    

    当您随后 Fill() 一个数据集时,您将获得两个数据表,一个带有第一个结果集,另一个带有第二个结果集。

    【讨论】:

    • 您可能希望出于性能目的指定列。比如,选择 column1、column2 等...
    • 我知道。这只是一个例子。
    • 确保添加 SET NOCOUNT ON 否则您的客户会将“x 行影响”视为另一个结果集。
    猜你喜欢
    • 2017-02-22
    • 2015-10-06
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    • 2014-11-06
    • 1970-01-01
    相关资源
    最近更新 更多