在Java中从存储过程(msql)检索数据
我在sql server中有以下存储过程:在Java中从存储过程(msql)检索数据,java,sql-server,stored-procedures,jdbc,Java,Sql Server,Stored Procedures,Jdbc,我在sql server中有以下存储过程: create procedure [dbo].[prSum] AS create table @SUM ( ClientName Varchar(40), SearchDoc Varchar(20), SearchName Varchar(20), ) --each one of this procedures returns a query with the sam
create procedure [dbo].[prSum]
AS
create table @SUM (
ClientName Varchar(40),
SearchDoc Varchar(20),
SearchName Varchar(20),
)
--each one of this procedures returns a query with the same colunms size of @SUM
insert into @SUM exec pr1
insert into @SUM exec pr2
insert into @SUM exec pr3
insert into @SUM exec pr4
insert into @SUM exec pr5
RETURN Select * from @SUM
GO
在SSMS中,我可以运行:
exec prSum
并显示Select*from@SUM
但我试图在我的java类上使用jdbc实现这一点:
package calc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectURL {
public static void main(String[] args) {
String connectionUrl = "jdbc:sqlserver://######;databaseName=####;user=#####;password=###;
try (Connection con = DriverManager.getConnection(connectionUrl); Statement stmt = con.createStatement();) {
String SQL = "{ call dbo.prSum}";
ResultSet rs = stmt.executeQuery(SQL);
while (rs.next()) {
System.out.println(rs.getString("ClientName"));
}
}
catch (SQLException e) {
e.printStackTrace();
}
}
}
获取和获取:
com.microsoft.sqlserver.jdbc.SQLServerException:该语句未返回结果集。您的存储过程存在许多问题。但正如所写的那样,实际上并不返回任何数据。在将结果发送到客户端之前返回 应该是这样的:
create procedure [dbo].[prSum]
AS
begin
set nocount on;
declare @SUM table (
ClientName Varchar(40),
SearchDoc Varchar(20),
SearchName Varchar(20)
)
--each one of this procedures returns a query with the same colunms size of @SUM
insert into @SUM exec pr1;
insert into @SUM exec pr2;
insert into @SUM exec pr3;
insert into @SUM exec pr4;
insert into @SUM exec pr5;
Select * from @SUM;
return;
end
GO
添加
设置不计数代码>到存储过程的开头。您好,欢迎使用SO。这不可能是您的存储过程,因为存在多个语法错误。不是创建表变量,而是声明它。存储过程的RETURN语句返回int。您不能使用它返回表。谢谢,我是sql server新手,我正在尝试使用临时表和变量,因此我无法创建post。我的问题是“没有计数”,它不见了。