开发者社区> 问答> 正文

Java执行删除/创建临时表的存储过程时,获取的影响行数总是-1

如题所述,使用Java代码执行删除、创建临时表的存储过程时总是执行不成功(不报错,
但是获取的影响行数为-1),别的存储过程都可以执行成功,求大师指点啊,
存储过程和Java代码如下:
1、存储过程代码

ALTER PROCEDURE [dbo].[PROC_TEMP]
AS
BEGIN
if object_id('tempdb..##temp') is not null
Begin

DROP TABLE ##temp
End

select identity(int) id0,* into ##temp from AlarmRecordRe ORDER BY [TIMESTAMP] DESC
END

2、Java代码

String sql = "{call PROC_TEMP}";
CallableStatement proc = conn.prepareCall(sql);
proc.execute();
int tmp = proc.getUpdateCount();
System.out.println(tmp);//这里打印出来的总是-1
if (tmp<0)
{
System.out.println("存储过程执行失败");
proc.close();
DBPool.destroyConnection(conn);
return;
}
System.out.println("成功了啊");
proc.close();

展开
收起
蛮大人123 2016-06-13 15:33:03 3080 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    执行动态语句的话:
    mysql:
    screenshot
    oracle:
    screenshot

    2019-07-17 19:36:10
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载