java Why jdbc调用存储过程“insert local table,select local table”CallableStatement。执行返回错误?
问题,存储过程,Java代码如下
在SQL Server Express Edition中,Java SE 8
程序1
CREATE PROCEDURE [dbo].[Test1]
AS
DECLARE @UserList TABLE (UserId char(8))
INSERT @UserList SELECT '00000001'
SELECT UserId FROM @UserList
--and SELECT STATEMENT join to @UserList
GO
程序2
CREATE PROCEDURE [dbo].[Test1]
AS
SELECT '00000001'
--and SELECT STATEMENT join to hard-code '00000001'
GO
Java
try (Connection con = ((DataSource) new InitialContext().lookup("java:comp/env/jdbc/myapp")).getConnection();
CallableStatement cstmt = con.prepareCall("{call [dbo].[Test1]}");
) {
boolean f = cstmt.execute();
ResultSet rs = cstmt.getResultSet();
问题
过程1由jdbc、cstmt调用。execute()返回false
过程2由jdbc、cstmt调用。execute()返回true。 为什么
还有什么
我想要存储过程使用的动态in子句参数的临时表
共 (0) 个答案