cyoeki 2020-04-03 09:44 采纳率: 100%
浏览 1640

SQL在navicat里执行成功,但是程序中报错

由于是在Oracle上执行的,所以是没有Values关键字的

<insert id="insert">
        insert into CARGO_CONTENTS (CARGO_ID,MATE_ID,CASE_NUM,REMARK,SPEC,EQUIPMENT_TYPE_ID,CLABS)
        select * from
        <foreach open="(" close=")" collection="contents" item="item" index="index" separator="UNION ALL">
            select
            #{item.cargoID} as cargoId,
            #{item.mateID} as mateId,
            #{item.caseNum} as caseNum,
            #{item.remark} as remark,
            #{item.spec} as spec,
            #{item.equipmentTypeID} as equipmentTypeID,
            #{item.clabs} as clabs
            from DUAL
        </foreach>
    </insert>

图片说明图片说明
图片说明

  • 写回答

2条回答 默认 最新

  • renkai721 2020-04-03 10:31
    关注

    第一,inert语法后面没有逗号和value(),请仔细检查。
    第二,select * from 后面如果是for循环的临时表,那么这一段代码需要大小括号包围并且起一个临时名字。

    评论

报告相同问题?

悬赏问题

  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?
  • ¥15 电磁场的matlab仿真
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面