为什么这段SQL在Mysql中正常执行并有结果而在JDBC中却报异常?
SQL代码:
call classm_p_ur_idgeneration_pp(@xx);
select @id as id;
过程代码 :
select @idprev_:=ctprop.`data` from classm_t_propreties ctprop where `key`='user.idgeneration.ad';
set @id_= CONCAT(@idprev_,DATEDIFF(NOW() , '1970-01-01 08:00:00.000'),CEILING(RAND()*100000000000)) ;
set @id:=@id_;
------解决思路----------------------
能打出完整的sql么?
------解决思路----------------------
会不会是 " ; " 的问题呢?
------解决思路----------------------
jdbc执行的是标准的sql ,你这是标准的sql吗
------解决思路----------------------
看起来像存储过程,不是应该调用conn.prepareCall来调用的吗
------解决思路----------------------
将SQL语句改为
select CONCAT(ctprop.data,DATEDIFF(NOW() , '1970-01-01 08:00:00.000'),CEILING(RAND()*100000000000))
from classm_t_propreties ctprop where `key`='user.idgeneration.ad';
直接在JDBC中执行这句即可
------解决思路----------------------
我记得存储过程不是这样调用的。
------解决思路----------------------
数组越界……
------解决思路----------------------
你这个是两条sql语句,第一个是调一个存储过程,第二个是查询,你直接在存储过程里返回不就好了,而且存储过程一般是conn.prepareCall调用的