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

Oracle执行INSERT批量插入报missing right parenthesis错误如何解决

问题解决方法

你提供的SQL存在4处语法错误,逐一修正即可解决报错:

  • SELECT后返回的列列表无需额外包裹括号,Oracle会将带括号的多值判定为记录类型,触发括号匹配异常
  • UNION关键字后不需要加逗号,直接写后续的SELECT语句即可
  • 空值的Manager字段不能直接留空,需要显式指定NULL
  • 最后一个SELECT语句后无需加多余的UNION关键字

修正后的可执行SQL如下:

INSERT INTO CS350REGT ("Region Code", "Region Name", "HQ", "Manager") 
SELECT 'NW', 'Northwest', 'Spokane, WA', '944 58 432' FROM DUAL UNION
SELECT 'S', 'Southern', 'Dallas, TX', NULL FROM DUAL UNION
SELECT 'NE', 'New England', 'Albany, NY', '900 58 472' FROM DUAL UNION
SELECT 'HQ', 'Headquarters Staff', 'Waltham, MA', NULL FROM DUAL UNION
SELECT 'SE', 'Southeast', 'Miami, FL', '785 02 675' FROM DUAL;

如果你的CS350REGT表的Manager字段设置了非空约束,把上面的NULL替换为合法的有效值即可正常执行。

补充优化建议:如果确认待插入的五条记录无重复,可将所有UNION替换为UNION ALL,避免Oracle执行不必要的去重排序操作,提升插入效率。

内容的提问来源于stack exchange,提问作者Daniel Valenzuela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 06:15:02