有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SP返回结果集SQL Server Java

我认为给定的存储过程只返回调用代码(例如,返回JDBC/Hibernate)最后执行的SELECT的结果集。但是,如果SP主体中有多个SELECT存在/执行,它似乎会返回多个结果集,更糟糕的是,JDBC/Hibernate似乎会将第一个结果集检测为实际结果

我的理解有误吗?谁能解释一下这是怎么回事吗?引用一些权威参考文献(通常)是可取的


共 (1) 个答案

  1. # 1 楼答案

    SQL Server将返回存储过程执行的所有结果集,而不仅仅是最后一个结果集

    如果SP返回了多个结果集,则会按顺序返回这些结果集,并返回所有结果集,除非出现任何错误

    例如:

    CREATE PROCEDURE MultipleResults
    AS
    BEGIN
    SELECT 'Result #1'
    SELECT 'Result #2'
    SELECT 'Result #3'
    END
    

    上面将返回3个结果集,每个结果集只有一行。 See example N.

    就我个人而言,我不喜欢这种方式,因为大多数工具都不理解可以返回多个,并且不能正确使用它。我试图为每个SP保留一个要返回的结果集(如果有)