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();

执行动态语句的话:

mysql:
create procedure p_drop_table_if_exist_v2(p_table_name varchar(20))
begin
declare v_table_name varchar(20);
declare exit handler for not found begin end;
select distinct table_name into v_table_name from information_schema.columns WHERE table_name = p_table_name;
if length(v_table_name)>0 then
set @sql=concat('drop table ', p_table_name);
prepare dtb from @sql;
execute dtb;
deallocate prepare dtb;
end if;

end;
//

oracle:
procedure p_drop_table_if_exist_v2(p_table_name in varchar2)
is
v_table_name varchar2(20);
begin
select table_name into v_table_name from user_tables where table_name=upper(p_table_name);

if length(v_table_name)>0 then
execute immediate 'drop table ' || p_table_name || ' purge';
end if;

exception
when no_data_found then
begin
null;
end;

http://www.myexception.cn/sql-server/123378.html

单独运行存储过程里的SQL显示的是对的?

##temp是变量吗?
如果是变量就不能这么执行;
还有数据库是什么呢?

自己先顶一下帖子,哪位大师指点一下,感激不尽