[b]一个存储过程执行一半莫名退出的解决[/b]
使用java定时调用存储过程,存储过程的功能是修改表A中字段F is null的记录,设置字段F=X,正常执行是执行一次后表A中将不会有F is null的记录,问题是:每次执行都只修改了表A的2或3条记录
而这个存储过程在数据库客户端工具中直接执行是正确的。
解决方法
如果你的存储过程中包括insert、delete、update操作,切记:
(1)如果是jdbc调用,使用statement.executeUpdate("sp_xxxx"),千万不能使用statement.execute("sp_xxxx")
(2)如果使用spring的dao框架:使用dao.getJDBCTemplate.update("sp_xxxx"),同样不要使用jdbcDao.getJDBCTemplate.execute("sp_xxxx")
使用java定时调用存储过程,存储过程的功能是修改表A中字段F is null的记录,设置字段F=X,正常执行是执行一次后表A中将不会有F is null的记录,问题是:每次执行都只修改了表A的2或3条记录
而这个存储过程在数据库客户端工具中直接执行是正确的。
解决方法
如果你的存储过程中包括insert、delete、update操作,切记:
(1)如果是jdbc调用,使用statement.executeUpdate("sp_xxxx"),千万不能使用statement.execute("sp_xxxx")
(2)如果使用spring的dao框架:使用dao.getJDBCTemplate.update("sp_xxxx"),同样不要使用jdbcDao.getJDBCTemplate.execute("sp_xxxx")
本文介绍了一种存储过程在Java环境中调用时出现执行不完全的问题及其解决方案。该存储过程用于更新数据库表中的某些记录,但在调用时仅部分记录被更新。文章详细解释了如何通过正确使用JDBC或Spring DAO框架的方法来确保存储过程完整执行。
1016

被折叠的 条评论
为什么被折叠?



