You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Forms Builder中INSERT语句使用子查询的正确语法

问题解决:INSERT语句Error 103错误修正

错误原因:你在VALUES子句里嵌套了SELECT子查询,部分数据库(比如Oracle)不支持这种写法,触发了Error 103。

修正后的SQL代码如下:

INSERT INTO vehicle (
                     vehicleid, reg_no, year, fuel, 
                     engine_capacity, transmission, seat_capacity, rice_per_day, 
                     modelid, policy_id, type_name, color
                    )
SELECT :vehicle_block.id, 
       :vehicle_block.reg_no, 
       :vehicle_block.year,
       :vehicle_block.fuel, 
       :vehicle_block.cc, 
       :vehicle_block.transm,
       :vehicle_block.seat, 
       :vehicle_block.price_p_day,
       (SELECT modelid
          FROM model m 
         WHERE m.make = :vehicle_block.make
           AND m.mode_name = :vehicle_block.model),
       :vehicle_block.policy, 
       :vehicle_block.type,
       :vehicle_block.color
FROM dual; -- Oracle数据库需保留该行,MySQL/PostgreSQL等可删除
COMMIT;

修改要点:

  • 去掉VALUES关键字,改用INSERT INTO ... SELECT结构
  • 将原VALUES中的参数和子查询直接移入SELECT字段列表
  • 若使用Oracle,必须加FROM dual生成单行数据;其他数据库可省略该行

内容的提问来源于stack exchange,提问作者Muhammad Shameem EDOO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 02:35:16