SP返回结果集SQL Server Java
我认为给定的存储过程只返回调用代码(例如,返回JDBC
/Hibernate
)最后执行的SELECT
的结果集。但是,如果SP主体中有多个SELECT
存在/执行,它似乎会返回多个结果集,更糟糕的是,JDBC
/Hibernate
似乎会将第一个结果集检测为实际结果
我的理解有误吗?谁能解释一下这是怎么回事吗?引用一些权威参考文献(通常)是可取的
你可以在下面搜索框中键入要查询的问题!
我认为给定的存储过程只返回调用代码(例如,返回JDBC
/Hibernate
)最后执行的SELECT
的结果集。但是,如果SP主体中有多个SELECT
存在/执行,它似乎会返回多个结果集,更糟糕的是,JDBC
/Hibernate
似乎会将第一个结果集检测为实际结果
我的理解有误吗?谁能解释一下这是怎么回事吗?引用一些权威参考文献(通常)是可取的
# 1 楼答案
SQL Server将返回存储过程执行的所有结果集,而不仅仅是最后一个结果集
如果SP返回了多个结果集,则会按顺序返回这些结果集,并返回所有结果集,除非出现任何错误
例如:
上面将返回3个结果集,每个结果集只有一行。 See example N.
就我个人而言,我不喜欢这种方式,因为大多数工具都不理解可以返回多个,并且不能正确使用它。我试图为每个SP保留一个要返回的结果集(如果有)