Oracle批量插入老是报错,老说我缺失表达式

Scaarf 2017-04-05 10:07:13
框架整合时,Oracle批量插入老是报错,老说我缺失表达式,用的是ssm框架

这个是Controller
	public String addBicycleList(){
List<Bicycle> bicycleList=new ArrayList<Bicycle>();
for(int i=1;i<=5;i++){
Bicycle bicycle=new Bicycle();
bicycle.setBicycleCode("bicycle00"+i);
bicycle.setStatus(1);
bicycle.setStationId(1001);
bicycle.setPileId(10);
bicycle.setUserId(4);
bicycleList.add(bicycle);
}
bicycleServiceImpl.addBicycleList(bicycleList);
return "";
}


这是Mybatis的配置文件中的sql语句
		<insert id="addBicycleList" parameterType="java.util.List">
<selectKey order="BEFORE" keyProperty="bicycleId" resultType="int">
select seq_bicycle.nextval as bicycleId from dual
</selectKey>
insert into
bicycle (bicycle_id,bicycle_code,status,station_id,pile_id,user_id) values
<foreach collection="list" item="bicycle" index="index" separator="union all">
select #{bicycle.bicycleId},#{bicycle.bicycleCode},#{bicycle.status},
#{bicycle.stationId},#{bicycle.pileId},#{bicycle.userId}
from dual
</foreach>
</insert>


这是Oracle数据库的表结构


报错信息
### Error updating database.  Cause: java.sql.SQLException: ORA-00936: 缺失表达式

### The error may exist in com/abc/bicycle/dao/BicycleMapper.xml
### The error may involve com.abc.bicycle.dao.BicycleMapper.addBicycleList-Inline
### The error occurred while setting parameters
### SQL: insert into bicycle (bicycle_id,bicycle_code,status,station_id,pile_id,user_id) values select ?,?,?, ?,?,? from dual union all select ?,?,?, ?,?,? from dual union all select ?,?,?, ?,?,? from dual union all select ?,?,?, ?,?,? from dual
### Cause: java.sql.SQLException: ORA-00936: 缺失表达式

...全文
851 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
把打印出的那句sql粘贴到数据库中执行一下试试不就知道了,记得先把问号替换掉
Scaarf 2017-04-06
  • 打赏
  • 举报
回复
引用 1 楼 qq_37846255 的回复:
没有遇到过这种问题啊 求真街,史上最快的FAN墙工具,http://qiuzhenstreet.com支持手机和电脑上网,上google、YouTube、Facebook和Twitter,查资料找朋友就是这么简单
那你向Oracle批量插入数据是怎么插的呢

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧