db2 v9.5 jdbc 批量提交多个insert报错

本文探讨了在使用DB2数据库过程中遇到的事务提交问题,特别是从V9.7到V9.5版本时出现的语法错误。通过在BEGIN语句后添加ATOMIC关键字,将复合语句作为事务进行提交,成功解决了该问题。本文旨在为遇到类似问题的开发者提供解决方案,避免走弯路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

v9.7版本下我是这样写的:

begin insert into tes_newid(id,name)values(1,'tes_name');insert into tes_newid(id,name)values(2,'tes_name1'); end

通过jdbc提交运行没问题。但是bd2版本换成v9.5就报错:

DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=begin insert;BEGIN-OF-STATEMENT;<insert>, DRIVER=3.59.81

找一个下午,问题解决 就是在begin 后面加上 atomic 就是把整个复合语句当成事务提交,这样就OK了。

begin atomic insert into tes_newid(id,name)values(1,'tes_name');insert into tes_newid(id,name)values(2,'tes_name1'); end

db2 提示语法错误,实在让人摸不着头脑,现在写出来,免得大家走弯路!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值