从一个调用两个存储过程,顺序有保证吗?

Hos*_*ser 2 sql-server-2008 stored-procedures

我有一些看起来像这样的代码:

    EXEC StoredProcedure1 @Arguments

    EXEC StoredProcedure2 @Arguments
Run Code Online (Sandbox Code Playgroud)

两个数据集是否保证按调用顺序返回?我希望将两个结果集传递回我的服务器代码,但遇到了一些问题,我觉得可能无法保证排序。如果不能保证,是否有强制执行顺序的方法?

不是数据的顺序,而是 StoredProcedure1 的顺序总是作为结果集 1 返回,而 StoredProcedure2 总是作为结果集 2 返回。

Dav*_*oft 11

是的。StoredProcedure1 将首先执行,并且 StoredProcedure1 中的任何结果集必须在执行 StoredProcedure2 之前被客户端使用。

某些客户端驱动程序或 DAL 可能会处理所有结果集,然后以不同的顺序将它们返回给您的调用代码,但对于 SQL Server 和 Microsoft 客户端驱动程序,您将按照它们生成的顺序获得结果集。

  • 好吧,微软人,我相信你 (3认同)